這是很簡單的搶與如何捕獲頁面拋出一個異常
HttpContext.Current.Request.Url.ToString();
事實上當前的URL網址,這是公認的答案this very similar question. 不過,我已經實現了應用廣泛的錯誤處理,並且有一個ErrorController,用於生成在發生未處理的異常時發回給我們的電子郵件。如果我實現上面的錯誤控制的代碼片段,我回來的URL是一樣的東西
http://.../Error/GenericError?aspxerrorpath=/Controller/ErrorProneAction
我怎麼能搶,實際上拋出錯誤的頁面的網址是什麼?也就是說,更多的東西一樣
http://.../Controller/ErrorProneAction
謝謝,我確實有你在Global提到的方法,而且我也使用mvc3。但是,如果我添加您發佈的代碼,我如何訪問正確的網址?我仍然得到了我在控制器中使用Request.Url在OP中提到的結果,就好像沒有任何變化。 –
@四十二嗯,這是一個無賴。如果它在任何地方,我會確定它在上下文對象中。但是,如果你找不到它可能它不存在:( – hawkke
猜測我真的不明白如何使用ApplicationState對象。定義Application [「Path」] =路徑後,此解決方案適用於我。謝謝,我很抱歉,如果我有時有點關節的話);) –