0

Global.asax の Application_Error イベントでキャッチされない例外を処理しようとしています。現在のように見えます

Sub Application_Error(ByVal sender as object, ByVal e as EventArgs)
    Server.ClearError()
    Response.Redirect("~/ErrorPages/GenericError.aspx")
End Sub

別のページの Page_load でまったく新しい例外をスローする

Throw New Exception()

実際に起こっていることは、実行がソースページを離れることはなく、私の例外を引用してデフォルトのASPエラーページをスローすることです. エラーページに送信されないのはなぜですか?

編集:修正Response.Redirect。次のようになります。

Response.Redirect("http://mysite/ErrorPages/GenericError.aspx")

また、 krshekharweb.configによって提案された私のファイルに変更を加えました。エラーページに送られていますが、フィードしたものではなく、デフォルトのリダイレクトを使用しています。他の考えはありますか?Application_Error

4

1 に答える 1

1

解決策はcustomErrors mode="On"
次のとおりです。質問の唯一の問題は、customErrorのweb.configエントリです。次のようになります

 <configuration>
    <system.web>
       <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
           <error statusCode="403" redirect="NoAccess.htm" />
           <error statusCode="404" redirect="FileNotFound.htm" />
            ...
       </customErrors>
    </system.web>
  </configuration>

役立つリンク
ASP.NET カスタム エラー ページ - Server.GetLastError() は null
CustomErrors mode="Off"

于 2013-02-08T16:51:32.587 に答える