Подтвердить что ты не робот

Что действительно означает AspNetCompatibilityRequirements?

Как это сделать с клиентом? Я имею в виду, если я задал AspNetCompatibilityRequirements. Доступен ли wcf с мобильных устройств, таких как WP7, android и ios?

4b9b3361

Ответ 1

Это не имеет никакого отношения к клиенту. Совместимость с ASP.NET объясняется в в следующей статье:

Хотя модель WCF предназначена для последовательного хостинга и транспорта, часто возникают сценарии, где приложение не требует такой степени гибкости. ФОС Режим совместимости ASP.NET подходит для сценариев, которые не требуют возможности размещения за пределами IIS или для протоколы, отличные от HTTP, но которые используют все возможности ASP.NET Платформа веб-приложений.

В отличие от конфигурации по умолчанию по-умолчанию, где хостинг WCF инфраструктура перехватывает сообщения WCF и маршрутизирует их из HTTP конвейер, службы WCF, работающие в режиме совместимости ASP.NET полностью участвовать в жизненном цикле HTTP-запроса ASP.NET. В режим совместимости, службы WCF используют протокол HTTP через Реализация IHttpHandler, аналогичная тому, как запросы ASPX страниц и веб-служб ASMX. В результате WCF ведет себя идентично ASMX в отношении следующих возможностей ASP.NET:

  • HttpContext: службы WCF, работающие в режиме совместимости ASP.NET, могут доступ Ток и связанное с ним состояние.

  • Авторизация на основе файлов: службы WCF, запущенные в ASP.NET режим совместимости может быть защищен путем присоединения доступа к файловой системе контрольные списки (ACL) в файл .svc services.

  • Конфигурируемая авторизация URL: правила авторизации URL-адресов ASP.NET принудительно для запросов WCF, когда служба WCF запущена в ASP.NET Режим совместимости.

  • Расширение HttpModuleCollection: поскольку службы WCF, запущенные в Режим совместимости ASP.NET полностью задействован в ASP.NET HTTP любой жизненный цикл запроса, любой HTTP-модуль, сконфигурированный в конвейере HTTP, способный работать с запросами WCF как до, так и после службы вызов.

  • Олицетворение ASP.NET: службы WCF запускаются с использованием текущего идентификатора олицетворенный поток ASP.NET, который может отличаться от IIS идентичность процесса, если олицетворение ASP.NET было включено для выражение. Если олицетворение ASP.NET и олицетворение WCF оба для конкретной операции службы, реализация сервиса в конечном счете выполняется с использованием идентификатора, полученного из WCF.

Ответ 2

Он включает состояние сеанса ASP.NET, которое не является проблемой при доступе к службам WCF с iOS, Android и WP7. Реальная проблема с использованием WCF для связи с этими платформами, по крайней мере для iOS и Android, - это отсутствие подходящего прокси для клиента. Эти клиенты играют лучше с RESTful-сервисами, которые могут быть выполнены с помощью WCF, но не используют состояние сеанса ASP.NET, поскольку службы RESTful не имеют сеанса. Использование маршрутов MVC и JsonResult (или веб-API в MVC4) делает это довольно элегантно.