WCF hosted in a Web application and compatibility mode
- by DotnetDude
I have a WCF service hosted in a web application (IIS). I need to expose 1 end point over wsHttp and the other over netTcp. I am on a IIS7 environment that makes it possible for me to host non HTTP based services. Anyways, when I browse the .svc file using a browser, I get the error:
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application
By googling, I realized that WCF runs in two modes - Mixed and ASP.NET compatible. When I apply the attribute
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
However, it appears that once I apply this attribute to the Service Contract implementation, I cannot use a non HTTP binding.
How do I set it up so that:
I can support non HTTP endpoints
I can host the service on a Web app
I don't create multiple services one with aspnet compatibility turned on and the other turned off