Перечисление 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 Это значение используется, чтобы указать, что обратный вызов вызывается коротким. При вызове обратного вызова short следует избегать длительных вычислений или длительных вычислений. блокирование вызовов, чтобы можно было быстро вернуться к вызывающему объекту. В течение времени что обратный вызов выполняется коротко, другие рабочие элементы могут быть недоступны вывод из очереди в рамках процесса. Это может привести к взаимоблокировку голода, система, не отвечающая на запросы, или недостаточно загруженная система. Если необходимо выполнить операции ввода-вывода в обратном вызове, который был вызван коротким, рекомендуется для использования асинхронного ввода-вывода (вместо синхронного ввода-вывода), чтобы избежать длительных блокирующих вызовов. |
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 |