WS_CALLBACK_MODEL枚举 (webservices.h)
指定回调 (的线程行为,例如WS_ASYNC_CALLBACK) 。
语法
typedef enum {
WS_SHORT_CALLBACK = 0,
WS_LONG_CALLBACK = 1
} WS_CALLBACK_MODEL;
常量
WS_SHORT_CALLBACK 值: 0 此值用于指示调用回调短。 调用回调短时,应避免长时间计算或冗长 阻止调用,以便它可以快速返回到调用方。 在此期间 回调正在执行短,其他工作项可能无法 在进程中取消排队。 这可能导致饥饿死锁, 无响应系统或未充分利用的系统。 如果需要在调用短的回调中执行 IO,最佳做法是 若要使用异步 IO (而不是同步 IO) ,以避免长时间阻止调用。 |
WS_LONG_CALLBACK 值:1 此值用于指示调用回调的时间长。 调用时间较长的回调不需要快速返回到调用方。 但是,长回调是有限的资源,因此并不总是可能的 以调用长回调。 调用回调之前,调用方必须确保有另一个线程 可根据需要取消排队工作。 例如,如果调用方需要创建 线程但无法,然后它必须调用回调短。 所有回调必须能够处理被调用的短和长:
|
注解
回调是调用长还是短回调是否由调用方实现决定。 通道和侦听器实现提供了一种通过 WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL 和 WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL 属性控制异步回调的方法。
要求
最低受支持的客户端 | Windows 7 [桌面应用|UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用|UWP 应用] |
标头 | webservices.h |