Qual è la differenza fra marcare un metodo WCF conQual è la differenza tra [OperationContract (IsOneWay = true)] e la casella di controllo delle operazioni asincrone generate?
[OperationContract(IsOneWay = true)]
attributo e controllando il generare casella asincrono operazioni quando si aggiunge un riferimento al servizio?
Da quello che ho letto, sembra che la natura asincrona della chiamata dovrebbe essere definito solo sul lato client. Se è questo il caso, qual è il punto dello [OperationContract(IsOneWay = true)]
?
In questo momento, non mi resta che il seguente metodo in esecuzione nel metodo WCF.
public void UpdateIndex(IndexElement[] indexElements)
{
// start the update on a new thread.
Thread thread = new Thread(() => UpdateIndexThread(indexElements));
thread.Start();
}
ho creato un riferimento al servizio nel codice del mio cliente, e ho semplicemente chiamare:
indexerClient.UpdateIndex(indexElements);
Dove indexerClient
è un'istanza del mio servizio WCF.
Questo dovrebbe funzionare anche? Non sembra, è quasi come se aspettasse il completamento del thread prima di tornare.
Questo ha molto senso! Grazie mille - cancella un sacco di frustrazione! – Matt
Giusto per chiarire, questo dovrebbe leggere in questo modo giusto? Cioè, IOW = true significa che c'è un messaggio dal client al server e una risposta dal server al client. Al contrario, un metodo non IOW = true in genere NON ha un messaggio di risposta, anche se il tipo di reso è nullo (ad esempio un messaggio 'vuoto'). – Matt
Grazie, ho avuto una frase all'indietro, ho appena modificato per correggere. – Brian