要求開始于 2.0 版要求佇列

HTTP Server 2.0 版 API 要求佇列的需求啟動功能可讓控制器應用程式延遲背景工作進程具現化,直到第一個要求抵達要求佇列為止。 因此,應用程式可以避免耗用資源,直到需要資源為止。 如需控制器應用程式的詳細資訊,請參閱 具名要求佇列 主題。

非同步需求啟動

控制器應用程式會使用要求佇列的控制碼呼叫 HttpWaitForDemandStart ,以起始要求啟動通知。 為了非同步完成,應用程式會在 pOverlapped 參數中提供重迭的結構。 以非同步方式呼叫 HttpWaitForDemandStart 時,當第一個要求到達要求佇列時,控制器應用程式就會收到通知。 要求開始通知完成之後,控制器應用程式可以在要求佇列上註冊另一個需求啟動通知。

HTTP 伺服器 API 不允許多個同時要求佇列的需求啟動通知。 不過,當未完成的需求啟動通知完成時,應用程式會再次呼叫 HttpWaitForDemandStart ,以在要求佇列上啟動多個背景工作進程。 HTTP 不會對要求啟動通知的數目或要求佇列上操作的背景工作進程數目強制執行限制。 不過,控制器應用程式可以強制執行要求佇列上允許的背景工作進程數目。

HTTP 伺服器 API 支援取消非同步 HttpWaitForDemandStart 呼叫。 應用程式可以使用 CancelIoEx 搭配 pOverlapped中提供的重迭結構,取消未處理的 HttpWaitForDemandStart 呼叫。

同步需求啟動

不建議同步要求啟動,因為應用程式會在要求抵達要求佇列之前封鎖。