wcf 无法激活服务,因为它不支持 ASP.NET 兼容性
<system.serviceModel> .... <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> </system.serviceModel>
如果wcf配置中aspNetCompatibilityEnabled等的配置,相应的serviceContract的实现类里面也要加对应的声明,如下所示:
[ServiceContract] interface IMyContract { [OperationContract] string MyMethod(string text); [OperationContract] string MyOtherMethod(string text); } [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] public class MyService : IMyContract { public string MyMethod(string text) { return string.Format("Hello,{0}", text); } public string MyOtherMethod(string text) { return string.Format("Cannot call this method over wcf,{0}", text); } }
vs在创建wcf服务的时候加上了兼容模式,如果在Contract实现的时候缺少了兼容模式的声明,就会出错。
无法激活服务,因为它需要 ASP.NET 兼容性。没有未此应用程序启用 ASP.NET 兼容性。请在 web.config 中启用 ASP.NET 兼容性,或将 AspNetCompatibilityRequirementsAttribute.AspNetCompatibilityRequirementsMode 属性设置为 Required 以外的值。
兼容模式使用范例:http://www.cnblogs.com/artech/archive/2009/06/25/1511165.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。