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