0

IIS 7.5 で実行されている asp.net Web アプリケーションで発生している問題をデバッグしようとしています。物理パスをコードの新しいコピーに変更してアプリケーションをデプロイしたときに、リクエストが完了していないことがわかると予想していました。

現在実行中のリクエストはアプリの古いインスタンスで終了し、新しいリクエストは新しいインスタンスに対して実行されるという印象を受けました。そうであれば、古いインスタンスは httpRuntime.shutdownTimeout に達するまで実行されると予想していました。

簡単に言うと、これをローカルで再現しようとしましたが、起こりませんでした。リクエストにどれだけ時間がかかっても、IISはshutdownTimeoutの設定を超えて待機するようです。

これは、私が興味を持っているライフ サイクルの一部です。アプリケーションの物理パスの変更と、IIS が現在実行中の要求を無効にする間に何が起こるでしょうか。

4

1 に答える 1

0

MSDNには、ASP.NETアプリケーションのライフサイクルに関する非常に詳細な説明があります。

Application_StartメソッドとApplication_Endメソッドは、HttpApplicationイベントを表さない特別なメソッドです。ASP.NETは、HttpApplicationインスタンスごとではなく、アプリケーションドメインの存続​​期間中に一度それらを呼び出します。

Application_Start

ASP.NETアプリケーションの最初のリソース(ページなど)が要求されたときに呼び出されます。Application_Startメソッドは、アプリケーションのライフサイクル中に1回だけ呼び出されます。このメソッドを使用して、データのキャッシュへのロードや静的値の初期化などの起動タスクを実行できます。アプリケーションの起動時には、静的データのみを設定する必要があります。インスタンスデータは、作成されたHttpApplicationクラスの最初のインスタンスでのみ使用できるため、設定しないでください。

于 2013-03-18T22:39:43.493 に答える