WCF 無法激活服務,因爲它不支持 ASP.NET 兼容性

wcf錯誤:

由於編譯過程中出現異常,無法激活服務“/roxlin/services/phcmesservice.svc”。異常消息爲: 無法激活服務,因爲它不支持 ASP.NET 兼容性。已爲此應用程序啓用了 ASP.NET 兼容性。請在 web.config 中關閉 ASP.NET 兼容性模式 ,或將 AspNetCompatibilityRequirements 特性添加到服務類型且同時將 RequirementsMode 設置爲“Allowed”或“Required”。。

錯誤(表象)原因

一般是因爲程序添加了啓用了AJAX的WCF服務,在添加WCF服務,瀏覽WCF服務時出現以上錯誤,而瀏覽AJAX的WCF服務不報錯。在沒有添加AJAX的WCF服務時也不報錯。

 

解決:

1.

        web.config中 添加或修改

    <system.serviceModel>

                 <serviceHostingEnvironment aspNetCompatibilityEnabled="fales"  multipleSiteBindingsEnabled="true" />

    </system.serviceModel>

2.在服務前添加:[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)](啓用了AJAXD的WCF服務是默認添加的)

 

另:當前已禁用此服務的元數據發佈錯誤

解決:在web.config中添加:

    <system.serviceModel>

        <behaviors>

            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>

    </system.serviceModel>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章