4

我從一個空白的MVC 3 Web應用程序開始。我在本地IIS中爲localhost:80創建了一個新網站,並將我的新MVC 3項目配置爲使用該Web服務器而不是VS開發Web服務器。在這一點上,我可以像平常一樣運行和調試項目。但是,如果我將此添加到我的web.config中,則會出現「無法在Web服務器上啓動調試」錯誤。我可以選擇開始不調試,並且工作正常。這是怎麼回事?向system.webServer.httpErrors添加401自定義錯誤會導致「無法在Web服務器上啓動調試」錯誤

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    <httpErrors errorMode="Custom" existingResponse="Replace"> 
     <remove statusCode="401"/> 
     <error statusCode="401" responseMode="ExecuteURL" path="/Error401" /> 
    </httpErrors> 
</system.webServer> 

回答

0

httpErrors是僅由IIS7使用的新元素。這似乎有點怪異,但是嘗試添加在Web配置以下system.web section下:

<customErrors mode="RemoteOnly" defaultRedirect="~/error"> 
    <error statusCode="401" redirect="~/Error401" /> 
</customErrors> 
+1

我使用IIS7。另外,我正在使用'existingResponse =「替換」'功能,而system.web.customErrors只能重定向AFAIK – kenwarner

0

我希望我可以給多一些希望在這裏,但經過廣泛的互聯網研究,似乎沒有解決。無論何時啓用此配置節點,即使調試之外沒有明顯的錯誤,也不會啓動調試。

我以前注意到證書問題可能會導致類似的錯誤發生。顯然,調試器沒有看到它期望的結果,並因此失敗。

我的解決方案是僅在我們的測試環境和以上版本中啓用此指令,而將其禁用開發。

相關問題