我試圖將服務器上的所有錯誤重定向到我的應用程序,以便它可以顯示適當的內容並可能將用戶重定向到正確的位置。httpErrors web.config部分阻止調試
當我通過它編輯錯誤頁面時,IIS 7 Manager將此部分添加到我的web.config中。
<httpErrors errorMode="Custom">
<remove statusCode="401" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="405" subStatusCode="-1" />
<remove statusCode="406" subStatusCode="-1" />
<remove statusCode="412" subStatusCode="-1" />
<remove statusCode="502" subStatusCode="-1" />
<remove statusCode="501" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="500" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="501" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="502" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="412" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="406" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="405" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="403" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="401" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
</httpErrors>
但是現在當我嘗試在ASP.Net中調試時,我收到一條錯誤消息。 「無法在Web服務器上開始調試,查看有關常見配置錯誤的幫助,在調試器外部運行網頁可能會提供更多信息,請確保服務器運行正常,並確保web.config中沒有語法錯誤一個不帶調試的Debug.Start,你也可以參考聯機文檔中的ASP.NET和ATL Server調試主題。「無論設置位於web.config還是服務器applicationHost.config中,都會發生這種情況。
在沒有調試的情況下執行Debug.Start沒有提供有用的信息,該站點正常運行。
從web.config中刪除的部分開始調試,可以正確啓動。奇怪的是,我可以在調試器啓動後將此部分添加回web.config,並且所有內容都按預期工作。
我認爲它的發生原因asp.net調試器不知道IIS配置部分。如果不刪除這部分並重新加入,那真的很痛苦。任何人都知道如何解決這個問題?
只需更新此信息即可。爲了簡化配置,我已將IIS切換爲始終執行/ErrorPage.aspx作爲所有錯誤的默認頁面。這工作正常,但仍然產生調試問題。 – ClearCarbon