На моем сайте есть лента анекдотов (на главной странице), так вот, чтобы добавить на ленту новую запись надо зайти на сайт, нажать кнопку, которая откроет форму добавления, запонить поля, выбрать параметры и нажать кнопку "добавить". Это долго и не всегда хочется тратить на это время. Хочу чтобы было просто: нашел что-то интересное и смешное на каком-нибудь сайте, выделил, нажал на ускоритель и всё уже на сайте. Итак...
Для начала потребуется создать обработчик запросов (я выбрал название LentaIE.ashx), который будет получать данные от ускорителя. А потом создать специальный xml-файл, который должен соответствовать спецификации. Описание спецификации достаточно подробно описано MSDN, поэтому я не буду этого делать, а просто приведу готовый код:
<?xml version="1.0" encoding="UTF-8"?>
<os:openServiceDescription
xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
<os:homepageUrl>http://www.calabonga.com</os:homepageUrl>
<os:display>
<os:name>Поделиться анекдотом</os:name>
<os:icon>http://www.calabonga.com/images/musorka.ico</os:icon>
<os:description>Мусорка - рассказать разместить свой анекдот</os:description>
</os:display>
<os:activity category="Share">
<os:activityAction context="selection">
<os:execute action="http://www.calabonga.com/h/LentaIE.ashx?content={selection}" method="post">
<os:parameter name="content" value="{selection}" type="text" />
</os:execute>
</os:activityAction>
</os:activity>
</os:openServiceDescription>
Теперь что касается обработчика (.ashx). Создадим новый при помощи шаблона Visual Studio. Вновь созданный файл имеет следующий вид:
public class LentaIE : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
}
public bool IsReusable
{
get
{
return false;
}
}
}
Для начала потребуется создать обработчик запросов (я выбрал название LentaIE.ashx), который будет получать данные от ускорителя. А потом создать специальный xml-файл, который должен соответствовать спецификации. Описание спецификации достаточно подробно описано MSDN, поэтому я не буду этого делать, а просто приведу готовый код:
<?xml version="1.0" encoding="UTF-8"?>
<os:openServiceDescription
xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
<os:homepageUrl>http://www.calabonga.com</os:homepageUrl>
<os:display>
<os:name>Поделиться анекдотом</os:name>
<os:icon>http://www.calabonga.com/images/musorka.ico</os:icon>
<os:description>Мусорка - рассказать разместить свой анекдот</os:description>
</os:display>
<os:activity category="Share">
<os:activityAction context="selection">
<os:execute action="http://www.calabonga.com/h/LentaIE.ashx?content={selection}" method="post">
<os:parameter name="content" value="{selection}" type="text" />
</os:execute>
</os:activityAction>
</os:activity>
</os:openServiceDescription>
Теперь что касается обработчика (.ashx). Создадим новый при помощи шаблона Visual Studio. Вновь созданный файл имеет следующий вид:
public class LentaIE : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
}
public bool IsReusable
{
get
{
return false;
}
}
}
А теперь давайте напичкаем этот класс полезностями. Во-первых, создадим поле которое будет экземпляром класса унаследованного от DataContext (LINQ to SQL).
Read more: Мусорка - найди лучшее!
Read more: Мусорка - найди лучшее!