WS_CALLBACK_MODEL webservices.h (列舉)
指定回呼 (的線程行為,例如 WS_ASYNC_CALLBACK) 。
Syntax
typedef enum {
WS_SHORT_CALLBACK = 0,
WS_LONG_CALLBACK = 1
} WS_CALLBACK_MODEL;
常數
WS_SHORT_CALLBACK 值: 0 這個值是用來指出叫用回呼的簡短。 叫用回呼簡短時,應該避免冗長的計算或冗長 封鎖呼叫,使其可以快速返回呼叫端。 期間 回呼正在執行簡短,其他工作專案可能無法執行 在進程內清除佇列。 這可能會導致耗盡死結, 沒有響應的系統,或使用量過低的系統。 如果需要在叫用簡短的回呼內執行 IO,最佳做法是 表示使用異步 IO (,而不是同步 IO) ,以避免長時間封鎖呼叫。 |
WS_LONG_CALLBACK 值: 1 這個值用來指出回呼叫用時間很長。 不需要呼叫長回呼,即可快速返回呼叫端。 不過,長回呼是有限的資源,因此不一定可行 表示叫用回呼 long。 叫用回呼長之前,呼叫端必須確定有另一個線程 可視需要清除佇列工作。 例如,如果呼叫端需要建立 線程但無法執行,則必須叫用回呼 short。 所有回呼都必須能夠處理被叫用的簡短和完整時間:
|
備註
回呼的叫用時間長或短是否由呼叫端實作所決定。 通道和接聽程式實作可讓您透過WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL和WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL屬性控制異步回呼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
標頭 | webservices.h |