What does AspNetCompatibilityRequirements really mean?

Have this anything to do with the client? I mean, If I set the AspNetCompatibilityRequirements to required. Is the wcf still accessible from mobile devices like WP7, android and ios?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

It has nothing to do with the client. ASP.NET compatibility is explained in the following article:

Although the WCF model is designed to behave consistently across
hosting environments and transports, there are often scenarios where
an application does not require this degree of flexibility. WCF’s
ASP.NET compatibility mode is suitable for scenarios that do not
require the ability to host outside of IIS or to communicate over
protocols other than HTTP, but that use all of features of the ASP.NET
Web application platform.

Unlike the default side-by-side configuration, where the WCF hosting
infrastructure intercepts WCF messages and routes them out of the HTTP
pipeline, WCF services running in ASP.NET Compatibility Mode
participate fully in the ASP.NET HTTP request lifecycle. In
compatibility mode, WCF services use the HTTP pipeline through an
IHttpHandler implementation, similar to the way requests for ASPX
pages and ASMX Web services are handled. As a result, WCF behaves
identically to ASMX with respect to the following ASP.NET features:

  • HttpContext: WCF services running in ASP.NET Compatibility Mode can
    access Current and its associated state.
  • File-based authorization: WCF services running in ASP.NET
    compatibility mode can be secure by attaching file system access
    control lists (ACLs) to the service’s .svc file.
  • Configurable URL authorization: ASP.NET’s URL authorization rules are
    enforced for WCF requests when the WCF service is running in ASP.NET
    Compatibility Mode.
  • HttpModuleCollection extensibility: Because WCF services running in
    ASP.NET Compatibility Mode participate fully in the ASP.NET HTTP
    request lifecycle, any HTTP module configured in the HTTP pipeline is
    able to operate on WCF requests both before and after service
    invocation.
  • ASP.NET Impersonation: WCF services run using the current identity of
    the ASP.NET impersonated thread, which may be different than the IIS
    process identity if ASP.NET impersonation has been enabled for the
    application. If ASP.NET impersonation and WCF impersonation are both
    enabled for a particular service operation, the service implementation
    ultimately runs using the identity obtained from WCF.

Method 2

It enables ASP.NET session state, which is not the challenge with accessing WCF services from iOS, Android, and WP7. The real issue with using WCF to communicate with those platforms, at least for iOS and Android, is the lack of a suitable proxy for the client. Those clients play better with RESTful services which can be done with WCF, but doesn’t use ASP.NET session state since RESTful services are sessionless. Using MVC routes and JsonResult (or the Web API in MVC4) does this rather elegantly as well.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x