Quelle est la différence entre le marquage d'une méthode WCF avecQuelle est la différence entre [OperationContract (IsOneWay = true)] et la case à cocher des opérations asynchrones générées?
[OperationContract(IsOneWay = true)]
attribut et la vérification de la case à cocher asynchrone générer opérations lors de l'ajout d'une référence de service? D'après ce que j'ai lu, il semble que la nature asynchrone de l'appel ne devrait être définie que du côté client. Si tel est le cas, quel est le point de [OperationContract(IsOneWay = true)]
?
À l'heure actuelle, la méthode suivante s'exécute dans la méthode WCF.
public void UpdateIndex(IndexElement[] indexElements)
{
// start the update on a new thread.
Thread thread = new Thread(() => UpdateIndexThread(indexElements));
thread.Start();
}
J'ai créé une référence de service dans le code de mon client, et je demande simplement:
indexerClient.UpdateIndex(indexElements);
Où indexerClient
est une instance de mon service WCF.
Est-ce que cela devrait aussi fonctionner? Cela ne semble pas, c'est presque comme si elle attendait que le fil se termine avant de revenir.
Cela a beaucoup de sens! Merci beaucoup - cela soulage beaucoup de frustration! – Matt
Juste pour éclaircir, cela devrait lire de cette façon non? En d'autres termes, IOW = true signifie qu'il y a un message du client au serveur et une réponse du serveur au client. En revanche, une méthode non-IOW = true n'aura généralement PAS de message de réponse, même si le type de retour est vide (par exemple un message 'vide'). – Matt
Merci, j'avais une phrase en arrière, je viens d'éditer pour corriger. – Brian