enumeración WS_CALLBACK_MODEL (webservices.h)
Especifica el comportamiento de subprocesos de una devolución de llamada (por ejemplo, un WS_ASYNC_CALLBACK).
Syntax
typedef enum {
WS_SHORT_CALLBACK = 0,
WS_LONG_CALLBACK = 1
} WS_CALLBACK_MODEL;
Constantes
WS_SHORT_CALLBACK Valor: 0 Este valor se usa para indicar que se invoca una devolución de llamada abreviada. Cuando se invoca una devolución de llamada corta, debe evitar cálculos largos o largos. las llamadas de bloqueo para que pueda volver al autor de la llamada rápidamente. Durante el tiempo que una devolución de llamada se está ejecutando brevemente, es posible que otros elementos de trabajo no puedan ser desqueued en el proceso. Esto puede provocar un interbloqueo de hambre, un un sistema que no responde o un sistema infrautilizado. Si es necesario realizar E/S dentro de una devolución de llamada que se invocó corta, el procedimiento recomendado es para usar E/S asincrónica (en lugar de E/S sincrónica), para evitar llamadas de bloqueo largas. |
WS_LONG_CALLBACK Valor: 1 Este valor se usa para indicar que una devolución de llamada se invoca long. Una devolución de llamada invocada long no es necesaria para volver al autor de la llamada rápidamente. Sin embargo, las devoluciones de llamada largas son un recurso limitado, por lo que no siempre es posible para invocar una devolución de llamada long. Antes de invocar una devolución de llamada larga, el autor de la llamada debe asegurarse de que hay otro subproceso. disponible para el trabajo de puesta en cola según sea necesario. Por ejemplo, si un llamador necesita crear un subproceso pero no puede hacerlo, debe invocar la devolución de llamada abreviada. Todas las devoluciones de llamada deben ser capaces de tratar de invocarse breves y largas:
|
Comentarios
Si se invocará una devolución de llamada de tipo long o short depende de la implementación del autor de la llamada. Las implementaciones del canal y del agente de escucha proporcionan una manera de controlar esto para las devoluciones de llamada asincrónicas a través de las propiedades WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL y WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Encabezado | webservices.h |