J'ai créé un serveur et généré mon client en tant que client asynchrone. Donc, quand je me connecte, je le fais de manière asynchrone. C'est très bien.J'ai fait un simple client WCF et j'ai coché la case "Créer des méthodes asynchrones". Que font ces méthodes?
J'ai une méthode sur mon client (une méthode de rappel) qui reçoit des données du serveur. Le serveur envoie également ces données en utilisant une méthode asynchrone.
Pour recevoir ces données sur mon client, je devrait avoir seulement une méthode comme celui-ci il me généré pour:
public void SendToClient(string dataToSend)
{
}
Bien qu'il ait un nom bizarre, c'est la méthode que je m'y attendais - il est appelé lorsque les données sont reçues.
Cependant, il a également généré ces méthodes:
public IAsyncResult BeginSendToClient(string dataToSend, AsyncCallback callback, object asyncState)
{
throw new NotImplementedException();
}
public void EndSendToClient(IAsyncResult result)
{
throw new NotImplementedException();
}
Je ne sais pas comment les utiliser. C'est comme une réception asynchrone, ou quelque chose. Comment les utiliser pour recevoir des données?
commentaire loyal, mais il ne répond pas exactement à la question ... – Murph
Il doit être asynchrone, sinon, si vous essayez de rappeler à un client qui a retiré la prise de son PC, le serveur va se bloquer jusqu'à ce que le délai d'attente soit atteint, ce qui n'est pas acceptable. –
La solution de contournement affichée sur ce lien semble être la solution - en la supprimant simplement du contrat. –