2012-03-13 13 views

risposta

17

Non ha nulla a che fare con il cliente. compatibilità ASP.NET è spiegato nel following article:

Anche se il modello WCF è stato progettato per comportarsi in modo coerente in tutti ambienti di hosting e trasporti, spesso ci sono scenari in cui un'applicazione non richiede questo grado di flessibilità. La modalità di compatibilità di ASP.NET per WC2 è adatta per scenari che non richiedono la capacità di host all'esterno di IIS o di comunicare tramite i protocolli diversi da HTTP, ma che utilizzano tutte le funzionalità della piattaforma di applicazione Web ASP.NET .

A differenza della configurazione predefinita side-by-side, dove il WCF ospitare infrastruttura intercetta i messaggi WCF e li indirizza fuori della pipeline HTTP , servizi WCF in esecuzione in modalità di compatibilità ASP.NET partecipare pienamente alla ASP.NET Ciclo di vita della richiesta HTTP. Nella modalità di compatibilità , i servizi WCF utilizzano la pipeline HTTP tramite un'implementazione IHttpHandler, in modo analogo al modo in cui vengono gestite le richieste per le pagine ASPX e ASMX Web. Di conseguenza, WCF si comporta in modo identico a ASMX rispetto alle seguenti caratteristiche di ASP.NET:

  • HttpContext: servizi WCF in esecuzione in modalità di compatibilità ASP.NET può accesso corrente e il suo stato associato.

  • autorizzazione basati su file: servizi WCF in esecuzione in ASP.NET modalità compatibilità può essere sicuro allegando accesso al file system elenchi di controllo (ACL) al file .svc del servizio.

  • configurabile autorizzazione URL: le regole di autorizzazione URL di ASP.NET sono forzata per le richieste WCF quando il servizio WCF è in esecuzione in ASP.NET modalità di compatibilità.

  • HttpModuleCollection estensibilità: Poiché i servizi WCF in esecuzione in modalità di compatibilità ASP.NET partecipare pienamente al ASP.NET HTTP richiesta del ciclo di vita, qualsiasi modulo HTTP configurato nella pipeline HTTP è in grado di operare sulle richieste WCF sia prima che dopo il servizio di chiamata .

  • Rappresentazione ASP.NET: servizi WCF eseguiti utilizzando l'identità corrente del di ASP.NET impersonato filo, che può essere diverso da quello l'identità del processo IIS se ASP.NET la rappresentazione è stata attivata per l'applicazione . Se la rappresentazione di ASP.NET e la rappresentazione di WCF sono entrambe abilitate per per una particolare operazione di servizio, l'implementazione del servizio viene eseguita in ultima analisi utilizzando l'identità ottenuta da WCF.

0

Esso consente ASP.NET lo stato della sessione, che non è la sfida con l'accesso ai servizi WCF da iOS, Android e WP7.Il vero problema con l'utilizzo di WCF per comunicare con tali piattaforme, almeno per iOS e Android, è la mancanza di un proxy adatto per il client. Questi client funzionano meglio con i servizi RESTful che possono essere eseguiti con WCF, ma non utilizzano lo stato di sessione ASP.NET poiché i servizi RESTful sono senza sessione. L'uso di percorsi MVC e JsonResult (o l'API Web in MVC4) lo rende anche piuttosto elegante.

Problemi correlati