2012-03-13 17 views

Odpowiedz

17

Nie ma nic wspólnego z klientem. Kompatybilność ASP.NET jest wyjaśnione w following article:

Chociaż model WCF jest przeznaczony zachowywać się konsekwentnie w całej hosting środowisk i transporty, są często scenariusze gdzie aplikacja nie wymaga tego stopień elastyczności. Tryb kompatybilności ASP.NET w trybie WCF jest odpowiedni dla scenariuszy, które nie wymagają obsługi hosta poza usługami IIS ani komunikowania się za pośrednictwem protokołów innych niż HTTP, ale korzystają z wszystkich funkcji platformy aplikacji WWW ASP.NET .

W przeciwieństwie do standardowej konfiguracji side-by-side, gdzie WCF gospodarzem infrastruktury przechwytuje wiadomości i tras nich WCF z HTTP rurociągu usług WCF działa w trybie zgodności ASP.NET w pełni uczestniczyć w ASP.NET Cykl życia żądania HTTP. W trybie zgodności usługi WCF używają potoku HTTP w ramach implementacji IHttpHandler w wersji , podobnie do obsługi żądań stron ASPX i usług internetowych ASMX. W rezultacie, WCF zachowuje identycznie ASMX w odniesieniu do następujących funkcji ASP.NET:

  • HTTPContext: Usługi WCF działa w trybie zgodności ASP.NET może dostęp do prądu i związany z nią stan.

  • opartych na plikach autoryzacji: Usługi WCF działających w ASP.NET trybie zgodności może być bezpieczny dostęp do systemu poprzez dołączenie pliku list kontrolnych (ACL) do .svc pliku usługi.

  • Konfigurowalny autoryzacja URL: zasady autoryzacji URL ASP.NET są egzekwowane żądań WCF, gdy usługa WCF jest uruchomiony w ASP.NET trybie zgodności.

  • HttpModuleCollection rozciągliwość: Ponieważ usługi WCF działa w trybie zgodności ASP.NET w pełni uczestniczyć w ASP.NET HTTP żądanie cyklu, każdy moduł HTTP skonfigurowane w rurociągu HTTP jest stanie działać na żądania WCF zarówno przed, jak i po usłudze wywołanie.

  • ASP.NET Personifikacja: usługi WCF uruchomić przy użyciu bieżącej tożsamości programu ASP.NET podszywa nić, która może być inna niż tożsamości procesu IIS jeśli ASP.NET personifikacja została włączona do wniosku . Jeśli personifikacja ASP.NET i personifikacja WCF są włączone dla konkretnej operacji usługi, implementacja usługi ostatecznie działa przy użyciu tożsamości uzyskanej z WCF.

0

Umożliwia ASP.NET stanu sesji, która nie jest wyzwanie z dostępu do usług WCF z iOS, Android i WP7.Prawdziwym problemem związanym z używaniem WCF do komunikowania się z tymi platformami, przynajmniej na iOS i Android, jest brak odpowiedniego serwera proxy dla klienta. Ci klienci grają lepiej z usługami RESTful, które można wykonać za pomocą WCF, ale nie używają stanu sesji ASP.NET, ponieważ usługi RESTful są bezsilne. Używanie tras MVC i JsonResult (lub Web API w MVC4) robi to również dość elegancko.