Сетевое взаимодействие
Содержание
Класс WebClient
Web Client
HttpWebRequest / HttpWebResponse
Разработка для HTTP Post
HttpWebRequest and HttpWebResponse
Подписка на WCF Web Services
WCF и Silverlight
Подписка на SOAP Web Services
Поддержка сокетов
Sockets
Сетевое взаимодействие

Сетевое взаимодействие

1. Сетевое взаимодействие

Михаил Черномордиков
Developer Evangelist, Microsoft Россия
[email protected]
http://blogs.msdn.com/mikcher
http://www.remix.ru

2. Содержание


Взаимодействие JavaScript
Класс WebClient
Классы HttpWebRequest/HttpWebResponse
Подписка на WCF Web Services
Подписка SOAP Web Services
Сокеты
http://www.remix.ru

3. Класс WebClient

• Похож на Downloader
• Обеспечивает асинхронный кросс-доменный
доступ к сетевым ресурсам
• Простой в использовании:
System.Net.WebClient client = new System.Net.WebClient();
client.DownloadStringCompleted+=new
DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(myURI);
http://www.remix.ru

4. Web Client

http://www.remix.ru

5. HttpWebRequest / HttpWebResponse

• Обеспечивает асинхронный кроссдоменный доступ к сетевым ресурсам
• Позволяет получить контроль над
сообщением HTTP
• Очень полезный при обращении к
существующим основанным на формах
(т.e. HTTP-POST) ресурсах, которые
активно используются в таких технологиях
как PHP
http://www.remix.ru

6. Разработка для HTTP Post

Uri uri = new Uri("http://localhost:8002/Sample2Web/GetData.ashx");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.BeginGetRequestStream(new AsyncCallback(RequestProceed), request);
void RequestProceed(IAsyncResult asyncResult)
{

}
void ResponseProceed(IAsyncResult asyncResult)
{

}

7. HttpWebRequest and HttpWebResponse

http://www.remix.ru

8. Подписка на WCF Web Services

Определение сервисов с помощью
стандартных контрактов WCF (т.e.
[DataMember] и так далее)
Использование Visual Studio для
создание прокси сервисов (based on
HttpWebReq/Resp)
Silverlight использует этот прокси
асинхронно

9. WCF и Silverlight

http://www.remix.ru

10. Подписка на SOAP Web Services

Веб-сервисы должны предоставлять
файл WSDL и сервер должен иметь
crossdomain.xml или
clientaccesspolicy.xml, правильно
настроенный и расположенный
Использование Visual Studio для
создания прокси сервиса (основано на
HttpWebReq/Resp)
Silverlight использует этот прокси
асинхронно

11. Поддержка сокетов

В Silverlight возможно сетевое взаимодействие на
базе сокетов
Ограничения
Поддерживаются только порты из диапазона 4502-4534
Коммуникация возможна только с тем же доменом, на
котором находится элемент управления
Необходим полиси-сервер, расположенный на порту 943
До инициализации соединения Silverlight опрашивает порт
943 для получения информации о полиси, которая
содержит разрешенные порты и протоколы

12. Sockets

http://www.remix.ru

13. Сетевое взаимодействие

Михаил Черномордиков
Developer Evangelist, Microsoft Россия
[email protected]
http://blogs.msdn.com/mikcher
http://www.remix.ru
English     Русский Правила