如果出現錯誤描述如下信息:
錯誤提示:無法激活服務,因爲它不支持 ASP.NET 兼容性。已爲此應用程序啓用了 ASP.NET 兼容性。
請在 web.config 中關閉 ASP.NET 兼容性模式或將 AspNetCompatibilityRequirements
屬性添加到服務類型且同時將 RequirementsMode 設置爲“Allowed”或“Required”。
解決方案有兩種。
第一種:在接口的實現類 XXXXXXXXXXService.svc.cs 的類名上面加上特性,代碼如下:
using System.ServiceModel.Activation;
namespace test.WCF.WebService
{
// 注意: 使用“重構”菜單上的“重命名”命令,可以同時更改代碼、svc 和配置文件中的類名“MyService”。
// 注意: 爲了啓動 WCF 測試客戶端以測試此服務,請在解決方案資源管理器中選擇 MyService.svc 或 MyService.svc.cs,然後開始調試。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
public string SmockAndFireAlarm(string alarmType, string cellCode)
{
return "success";
}
}
}
第二種:在 web.config 中增加配置信息,樣例如下:
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>
注意框架3.5以前都是默認就支持的,4.0以後默認就是沒有打開兼容性支持的。