WCF web service error: The service cannot be activated because it does not support ASP.NET compatibility
Solution 1:
On your main service you could mark your service as:
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
From http://forums.silverlight.net/t/21944.aspx
Solution 2:
it will work :
you have change this lines in code or add the line in web.config:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Solution 3:
If someone has a lot of services and services are created using custom ServiceHostFactory
, then AspNetCompatibilityRequirementsAttribute
can also be set in CreateServiceHost
method.
Example:
public class HostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
var host = new ServiceHost(serviceType, baseAddresses);
//other relevent code to configure host's end point etc
if (host.Description.Behaviors.Contains(typeof(AspNetCompatibilityRequirementsAttribute)))
{
var compatibilityRequirementsAttribute = host.Description.Behaviors[typeof(AspNetCompatibilityRequirementsAttribute)] as AspNetCompatibilityRequirementsAttribute;
compatibilityRequirementsAttribute.RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed;
}
else
{
host.Description.Behaviors.Add(new AspNetCompatibilityRequirementsAttribute() { RequirementsMode =AspNetCompatibilityRequirementsMode.Allowed});
}
return host;
}
}