• Microsoft .NET
  • WPF и Silverlight
  • Синхронные вызовы веб-службы в Silverlight: Развенчание мифа об исключительной асинхронности

Создание бизнес-приложений с помощью Silverlight - Междоменный доступ служб TCP

ОГЛАВЛЕНИЕ

Междоменный доступ служб TCP

В отличие от приложений мультимедиа и рекламных объявлений, настоящие бизнес-приложения корпоративного класса требуют интеграции с широким набором сред размещения служб. Например, приложение центра обработки звонков на веб-сайте (advcallclientweb hosted at localhost:1041) использует сервер сокетов с сохранением состояния в другом домене (localhost:4230) для создания всплывающих окон и дотягивается до бизнес-данных через службы, размещенные в другом домене (localhost:1043). Оно будет использовать еще один домен для передачи инструментальных данных.

Песочница Silverlight по умолчанию не позволяет сетевого доступа к любому домену, кроме того, откуда она происходит – advcallclientweb (localhost:1041). Когда обнаруживается такой сетевой доступ, среда выполнения Silverlight проверяет наличие политик явного соглашения, установленных доменом назначения. Вот типичный список сценариев размещения служб, который должен поддерживать запросы междоменной политики клиентом:

  • Службы, размещенные в «облаке»
  • Веб-службы, размещенные в процессе службы
  • Веб-службы, размещенные в IIS или других веб-серверах
  • Ресурсы HTTP, такие как разметка XAML и пакеты XAP
  • Службы TCP, размещенные в процессе службы

Тогда как реализация междоменных политик для ресурсов HTTP и конечных точек веб-служб, размещенных в IIS, прямолинейна, прочие случаи требуют знания семантики запроса/ответа политики. В этом отделе я вкратце реализую инфраструктуру политики, необходимую для сервера всплывающих окон TCP, именуемого диспетчером звонков на рис. 1. О прочих междоменных сценариях будет рассказано во второй части этой статьи.