¿Cuál es la diferencia entre el marcado con un método WCF¿Cuál es la diferencia entre [OperationContract (IsOneWay = true)] y la casilla de verificación de operaciones asincrónicas generadas?
[OperationContract(IsOneWay = true)]
atributo y comprobar la casilla generan operaciones asíncronas al agregar una referencia de servicio?
Por lo que he leído, parece que la naturaleza asincrónica de la llamada solo debe definirse en el lado del cliente. Si ese es el caso, ¿cuál es el objetivo del [OperationContract(IsOneWay = true)]
?
En este momento, solo tengo el siguiente método ejecutándose en el método WCF.
public void UpdateIndex(IndexElement[] indexElements)
{
// start the update on a new thread.
Thread thread = new Thread(() => UpdateIndexThread(indexElements));
thread.Start();
}
creé una referencia de servicio en el código de mi cliente, y simplemente me llaman:
indexerClient.UpdateIndex(indexElements);
Dónde indexerClient
es una instancia de mi servicio WCF.
¿Esto también debería funcionar? No parece, es casi como si esperara a que el hilo se completara antes de regresar.
¡Eso tiene mucho sentido! ¡Muchas gracias, aclara un montón de frustración! – Matt
Solo para aclarar, esto debería leer de esta manera ¿no? Es decir, IOW = verdadero significa que hay un mensaje del cliente al servidor y una respuesta del servidor al cliente. Por el contrario, un método que no sea IOW = true normalmente NO tendrá un mensaje de respuesta, incluso si el tipo de devolución es nulo (por ejemplo, un mensaje 'vacío'). – Matt
Gracias, tenía una oración al revés, solo edité para corregirlo. – Brian