要求从版本 2.0 请求队列开始

HTTP Server 版本 2.0 API 请求队列的需求启动功能允许控制器应用程序延迟工作进程实例化,直到第一个请求到达请求队列。 因此,应用程序可以避免消耗资源,直到它们是必需的。 有关控制器应用程序的详细信息,请参阅 命名请求队列 主题。

异步需求启动

控制器应用程序使用请求队列的句柄调用 HttpWaitForDemandStart 来启动请求启动通知。 对于异步完成,应用程序提供 pOverlapped 参数中的重叠结构。 HttpWaitForDemandStart 异步调用时,当第一个请求到达请求队列时,将通知控制器应用程序。 需求启动通知完成后,控制器应用程序可以在请求队列上注册另一个请求启动通知。

HTTP 服务器 API 不允许请求队列同时发出多个请求启动通知。 但是,当未完成的需求启动通知完成时,应用程序会再次调用 HttpWaitForDemandStart,以在请求队列上启动多个工作进程。 HTTP 不会对请求队列上运行的请求启动通知数或工作进程数强制执行限制。 但是,控制器应用程序可以强制实施请求队列上允许的工作进程数。

HTTP 服务器 API 支持取消异步 HttpWaitForDemandStart 调用。 应用程序可以将 CancelIoExpOverlapped中提供的重叠结构配合使用,以取消未完成的 HttpWaitForDemandStart 调用。

同步需求启动

不建议使用同步需求启动,因为应用程序会阻止请求到达请求队列。