代码改变世界

开发错误处理记录(无法激活服务,因为它不支持 ASP.NET 兼容性)

2012-04-30 22:42  java线程例子  阅读(467)  评论(0编辑  收藏  举报

无法激活服务,因为它不支持 ASP.NET 兼容性

错误提示:无法激活服务,因为它不支持 ASP.NET 兼容性。已为此应用程序启用了 ASP.NET 兼容性。请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompatibilityRequirements 属性添加到服务类型且同时将 RequirementsMode 设置为“Allowed”或“Required”。

 

默认情况下ASP.NET兼容性支持是关闭的,但很多时候需要打开Asp.Net的兼容性来利用Asp.Net的一些特性(使用session,上下文等),具体可参考http://msdn.microsoft.com/zh-cn/library/ms752234.aspx

如果要打开兼容性,需要做两步:一是在服务类加上如下标记:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class AppRuntimeStateSvc : IAppRuntimeStateSvc
    {

         //服务代码.

    }

二是在web.config中的<system.serviceModel>段里加:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"  aspNetCompatibilityEnabled="true" />

注意框架3.5以前都是默认就支持的,4.0以后默认就是没有打开兼容性支持的.