2012-03-13 10 views

Respuesta

17

No tiene nada que ver con el cliente. compatibilidad ASP.NET se explica en el following article:

Aunque el modelo WCF está diseñada para comportarse constantemente a través de entornos de alojamiento y medios de transporte, a menudo hay escenarios donde una aplicación no requiere este grado de flexibilidad. El modo de compatibilidad ASP.NET de WCF es adecuado para escenarios que no requieren para poder hospedarse fuera de IIS o para comunicarse a través de protocolos que no sean HTTP, pero que utilizan todas las características de la plataforma de aplicaciones web ASP.NET .

A diferencia de la configuración de lado a lado por defecto, en el que el alojamiento WCF infraestructura intercepta los mensajes de WCF y las envía fuera de la tubería HTTP , servicios WCF se ejecuta en modo de compatibilidad de ASP.NET participar plenamente en el ASP.NET Ciclo de vida de solicitud HTTP En el modo de compatibilidad , los servicios WCF utilizan la canalización HTTP a través de una implementación IHttpHandler , similar a la forma en que se manejan las solicitudes de las páginas ASPX y los servicios web ASMX. Como resultado, WCF se comporta de forma idéntica a ASMX con respecto a las siguientes características de ASP.NET:

  • HttpContext: servicios WCF se ejecuta en modo de compatibilidad de ASP.NET puede acceso actual y su estado asociado.

  • de autorización basados ​​en archivos: servicios WCF que se ejecutan en modo de ASP.NET compatibilidad puede ser seguro adjuntando el acceso al sistema de archivos listas de control (ACL) de archivos .svc del servicio.

  • autorización de direcciones URL configurable: las reglas de autorización de URL de ASP.NET son forzada para solicitudes de WCF cuando el servicio WCF se ejecuta en ASP.NET el modo de compatibilidad.

  • HttpModuleCollection extensibilidad: Debido a que los servicios de WCF se ejecuta en modo de compatibilidad ASP.NET participar plenamente en la solicitud HTTP ASP.NET ciclo de vida , cualquier módulo HTTP configurado en el canal de HTTP es capaces de operar en las solicitudes de WCF tanto antes como después del servicio invocación.

  • la suplantación de ASP.NET: servicios WCF ejecutan utilizando la identidad actual de la ASP.NET se hizo pasar por hilo, que puede ser diferente de la identidad del proceso de IIS si la suplantación de ASP.NET se ha habilitado para la aplicación . Si la suplantación ASP.NET y la suplantación WCF son ambas habilitadas para una operación de servicio particular, la implementación del servicio finalmente se ejecuta utilizando la identidad obtenida de WCF.

0

Permite estado de sesión ASP.NET, que no es el reto con el acceso a servicios de WCF desde iOS, Android y WP7.El verdadero problema con el uso de WCF para comunicarse con esas plataformas, al menos para iOS y Android, es la falta de un proxy adecuado para el cliente. Esos clientes juegan mejor con los servicios RESTful que se pueden hacer con WCF, pero no usan el estado de sesión ASP.NET ya que los servicios RESTful no tienen sesiones. El uso de rutas MVC y JsonResult (o la API web en MVC4) también lo hace de forma elegante.

Cuestiones relacionadas