none
httpApplicationのDisposedイベントが上がってくるがアプリケーションプールリサイクルのログが残っていない RRS feed

  • 質問

  • お世話になっております。

     httpApplicationのDisposedイベントを利用して、主にIISの停止の取得に使用しているのですが、まれにIISが動作している状態でDisposedが上がってくることがあります。

    アプリケーションプールのリサイクルが行われていると思うのですが、イベントビューアにはログが残っていません(LogEventOnRecycleプロパティは設定済み)

    ・w3wp以外にでCPU負荷率の高いプロセスのあるときに発生しやすい。

    ・IISのアプリケーションプールの「CPU監視を有効にする」のチェックの有無に関係なく発生する。

    ・IISの設定でアプリケーションプールの設定で明示的に指定している内容でリサイクルが発生したときにはログが残る。

    Disposedが上がってくる原因は、アプリケーションプールとは別なのでしょうか?
    それても、ログに残らずアプリケーションプールのリサイクルが行われることがあるのでしょうか?



    環境
    Windows Server2003 Standerd
    IIS6.0
    ASP.NET3.5
    VS2008
    2009年2月25日 2:44

回答

  • 自己レスです。

    Disposeを受け取ったワーカープロセスに対応しているアプリケーションプールと別のアプリケーションプールが起動したとき(つまり、w3wp.exeプロセスが複数存在状況になったとき)、今回の現象が発生していました。

    • 回答としてマーク wooxiangrow 2009年7月10日 0:26
    2009年5月29日 7:10

すべての返信

  • こんにちは。

    私もいい資料が見つけられなかったのですが、HttpApplication は ASP.NET のアプリケーションオブジェクトをあらわすので、IIS のアプリケーションプールとは意味が異なると思います。

    IIS のアプリケーションプールは、複数のアプリケーションをホスト可能なものですし。

    ご参考になりましたら幸いです。

    --------------------------
    だどさん http://keicode.com/

    2009年2月26日 2:54
  • だどさん、 こんにちは。
    ご意見ありがとうございます。

    >HttpApplication は ASP.NET のアプリケーションオブジェクトをあらわすので、IIS のアプリケーションプールとは意味が異なると思います。

    何が原因でDisposeが上がってきたのか判る方法がないかなと思っています(タイトルの付け方が良くなかったかも知れません。。。)。

    アプリケーションプールの件を記載したのは、アプリケーションプールがリサイクルされるときにDisposeが上がってくるためです。
    現状では、「ログが残るからこのDisposeはアプリケーションプールリサイクルによるものだ」「ログが無いからアプリケーションプールリサイクル以外によるもの(本当に??)」という程度の判別しか出来ないので、もっと明確な原因の切り分けの方法がないものかと思っています。
    2009年2月26日 8:13
  • 自己レスです。

    Disposeを受け取ったワーカープロセスに対応しているアプリケーションプールと別のアプリケーションプールが起動したとき(つまり、w3wp.exeプロセスが複数存在状況になったとき)、今回の現象が発生していました。

    • 回答としてマーク wooxiangrow 2009年7月10日 0:26
    2009年5月29日 7:10