Share via


HostingEnvironment.StopListening 事件

定義

[僅在 .NET Framework 4.5.1 中支援]

發生於與此主機相關聯的背景工作處理序或應用程式集區,已停止接聽新要求且最終將關閉時。

public:
 static event EventHandler ^ StopListening;
public static event EventHandler StopListening;
member this.StopListening : EventHandler 
Public Shared Custom Event StopListening As EventHandler 
Public Shared Event StopListening As EventHandler 

事件類型

備註

當應用程式集區及其相關聯的背景工作進程由 IIS 關閉時,例如當應用程式集區達到排程的回收間隔時,IIS 會通知 ASP.NET 執行時間應用程式正在關閉,而應用程式集區的背景工作進程會停止接聽新的要求。 使用長時間執行要求的應用程式,例如 SignalR 應用程式,可以在 IIS 起始應用程式集區的關機及其相關聯的背景工作進程時,接聽 StopListening 事件並正常關閉其長時間執行的作業。

警告

實作 StopListening 事件時,開發人員必須考慮幾個設計考慮:

  1. 事件 StopListening 僅適用于設定為使用 IIS 整合管線的應用程式。
  2. 開發人員不得從其 StopListening 實作擲回錯誤;擲回錯誤將會產生無法預測的結果。
  3. 由於 ASP.NET 內作業的並行本質,因此 ASP.NET 一旦開發人員實作事件,就不保證 ASP.NET 會呼叫 StopListening 事件。
  4. 事件 StopListening 可以與其他 IRegisteredObject 通知同時執行。
  5. 開發人員必須注意,當 ASP.NET 事件正在執行並設計其 StopListening 實作來處理該可能性時,可能會關閉應用程式域。
  6. StopListening 事件處理常式不得封鎖;封鎖實作會導致死結,而 IIS 會在達到快速失敗保護間隔時終止背景工作進程。

適用於