2011-07-21 45 views
0

これは何度も尋ねられたことがわかりましたが、これらの投稿から作業を開始できませんでした。公開後にApplication_errorイベントが発生しない

私はGlobal.asaxファイルにApplication_errorメソッドを実装して、すべての未処理例外のログを記録して電子メールを送信しました。これはVisual Studio上で動作しているときは完璧に動作しますが、テストサーバーに公開するとApplication_eventは起動を停止します。テキストファイルにログエントリは作成されず、電子メールは送信されません。

PrecompiledApp.configファイルは、ルートディレクトリに、App_global.asax.compiled、binフォルダ内のApp_global.asax.dllとともに存在します。私がウェブサイトを公開した後、Global.asaxファイルが存在しません。

PrecompiledApp.configファイルを削除しようとしましたが、動作しません。 Global.asaxファイルをルートディレクトリに追加しようとしましたが、動作しません。 私はweb.configファイル内

<customErrors mode="Off" /> 

<customErrors mode="On" defaultRedirect="Error Page.aspx" /> 

で試してみました....何も機能しません。それはApplicationInstanceを返し

Response.Write("<br/>ApplicationInstance: " + Context.ApplicationInstance.GetType().FullName); 

:ASP.global_asax、ポストに応じて返されるべき

は、私は、ページのをPage_Loadに行を追加しました。 それからイベントが発砲しないのはなぜですか?

助けてください!

ありがとうございました!

** [編集] .... Global.asaxファイルのSession_startイベントにコード行を追加しました。これは、Global.asaxが正常に展開されていることを意味します。しかし、エラーの場合にApplication_errorイベントが実行されないのはなぜですか?何か案は?

+0

すべてapplication_ *イベントは発生しませんか? –

+0

私はapplication_errorイベントを実装しました。他のイベントにコードを入れないでください。 – KhD

答えて

1

Application_errorメソッド内でアプリケーションが発生した場合、メソッドが呼び出されていないように見えます。

application_errorメソッド内で適切な例外処理が行われていることを確認します。

+0

これは、Application_Errorの発火に問題があったときに間違っていたことです。 –

0

以下のコードは、IISに公開した後に正常に動作しています。 (EventArgsのようなオブジェクトとしてByVal送信者、ByValを電子)

サブのApplication_Error

If Context IsNot Nothing Then 
     Context.ClearError() 
     Response.Write("Application_Error" + "<br/><br/>") 
     Response.Write("Error on Default Page") 
    End If 
End Sub 
関連する問題