Dot-Net
Web服務配置問題
我從應用程序目錄託管 2 個 WCF Web 服務和 1 個標準 .NET Web 服務。.NET 服務和 1 個 WCF 服務完美執行;但是,其他 WCF 服務返回以下錯誤:
該服務無法啟動,因為它不支持 ASP.NET 兼容性。為此應用程序啟用了 ASP.NET 兼容性。在 web.config 中關閉 ASP.NET 兼容模式,或將 AspNetCompatibilityRequirements 屬性添加到服務類型,並將 RequirementsMode 設置為“允許”或“必需”。
兩個 WCF Web 服務都有這條線
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _並且 web.config 文件有
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />為了增加更多的混亂,當我改變
AspNetCompatibilityRequirementsMode.Allowed至
AspNetCompatibilityRequirementsMode.Required服務很好。
還有,變
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />至
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" />在 web.config 中還允許所有 Web 服務執行。
這個問題出現在 IIS7 和我們在執行 IIS6 的 SBS2003 上託管的暫存環境中。
預先感謝您的所有幫助。
傑克
更新:
我可以通過刪除我的開發系統上的應用程序來讓它工作;但是,即使在刪除應用程序並在那裡重新創建後,問題仍然存在於我們的暫存伺服器上。
解決方法:
- 從 IIS 中刪除應用程序
- 重新創建目錄
- 創建一個新的應用程序池
- 在目錄的屬性中,創建應用程序並將其關聯到新的應用程序池。
多麼痛苦。
解決方法:
- 從 IIS 中刪除應用程序
- 重新創建目錄
- 創建一個新的應用程序池
- 在目錄的屬性中,創建應用程序並將其關聯到新的應用程序池。
您不能在單個應用程序池下託管 2 個不同框架版本的服務。我的意思是,如果您在單個應用程序池下託管了 2 個 WebService(一個使用 Framework 2.0,另一個使用 Framework 4.0),那麼任何一項服務都可以工作。第二個永遠行不通
解決方案:
創建 2 個不同的應用程序池。App1(目標框架 2.0)和 App2(目標框架 4.0)
將 App1 池分配給在 Framework 2.0 中開發的服務。
將 App2 池分配給在 Framework 4.0 中開發的服務。
重新啟動 IIS
它現在應該可以工作了。