4 простых шага для использования сервиса WCF в Silverlight
Введение
Эта статья рассказывает о 4 простых шагах, которые помогут вам использовать сервис WCF в приложении Silverlight. Здесь также приводится простой пример исходного кода, который демонстрирует все 4 шага на практике.
Шаг 1: Создание сервиса WCF
Первым шагом будет создание вашего сервиса WCF. Когда мы создаем сервис WCF, по умолчанию он создает функцию ‘GetData’ , которая принимает целочисленное значение и возвращает строку с сообщением “Вы ввели 10” , в случае если вы передали значение ‘10’ в функцию. Мы попробуем использовать этот сервис
public class Service1 : IService1
{
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
}
}
Шаг 2: Включение возможности междоменного вызова для вашего сервиса WCF
Для этого примера наш сервис WCF и веб-приложение Silverlight будут содержаться на разных веб-сайтах IIS. Другими словами, они будут содержаться в различных доменах. Когда мы говорим о различных веб-сайтах, имеется в виду, что они содержатся в разных доменах. Например, ваше веб-приложение Silverlight содержится на одном домене вида http://www.xyz.com/ и ваш сервис WCF содержится на другом домене, например http://www.pqr.com/.
Для сервиса WCF необходимо включить функцию междоменной связи, чтобы другие домены могли использовать сервис WCF.
Рисунок: междоменное соединение
Нам нужно создать два файла XML (clientaccesspolicy.xml и crossdomain.xml) в корневом каталоге сервиса WCF, чтобы подключить функцию междоменного соединения.
Ниже приведен фрагмент кода XML для clientaccesspolicy.xml:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource include-subpaths="true" path="/"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Ниже приведен фрагмент кода XML для crossdomain.xml:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
Шаг 3: Добавление ссылки на сервис WCF
Создадим простое приложение на Silverlight и добавим ссылку на сервис в ваш проект Silverlight. Чтобы вызвать сервис WCF, нужно определить обработчики событий.
Процедура использования сервиса WCF состоит из трех шагов.
- На первом шаге обратитесь (сошлитесь) к пространству имен.
- На втором шаге создайте объект вашего сервиса WCF.
- На последнем шаге нужно создать обработчик события, который будет получать результаты, отправленные сервисом WCF.
Важно заметить, что функция ‘GetData’ вызывается асинхронно.
Шаг 4: Вызов сервиса
В итоге компилируем программу и наблюдаем ее вывод.
Автор: Shivprasad Koirala