Jaka jest różnica pomiędzy oznakowaniem metodę WCF zJaka jest różnica między opcją [OperationContract (IsOneWay = true)] a sprawdzaniem wygenerowanych operacji asynchronicznych?
[OperationContract(IsOneWay = true)]
atrybutu i sprawdzanie generować pole asynchroniczne operacje podczas dodawania odniesienie usług?
Z tego, co przeczytałem, wydaje się, że asynchroniczny charakter połączenia powinien być zdefiniowany tylko po stronie klienta. Jeśli tak jest, jaki jest sens [OperationContract(IsOneWay = true)]
?
W tej chwili po prostu mam następujące metody uruchomione w metodzie WCF.
public void UpdateIndex(IndexElement[] indexElements)
{
// start the update on a new thread.
Thread thread = new Thread(() => UpdateIndexThread(indexElements));
thread.Start();
}
stworzyłem odniesienie w kodzie serwisowym mojego klienta, a ja po prostu zadzwonić:
indexerClient.UpdateIndex(indexElements);
Gdzie indexerClient
jest instancją mojego usług WCF.
Czy to też powinno działać? Wydaje się, że nie jest to prawie tak, jakby czekał na zakończenie wątku przed powrotem.
To ma wiele sensu! Dziękuję bardzo - usuwa wiele frustracji! – Matt
Po prostu wyjaśnić, to należy przeczytać w ten sposób, prawda? Oznacza to, IOW = true oznacza, że nie jest to wiadomość od klienta do serwera, a odpowiedź od serwera do klienta. W przeciwieństwie do tego, nie IOW = sprawdzoną metodą zazwyczaj nie mają wiadomości z odpowiedzią, nawet jeżeli typ zwrotny jest nieważna (na przykład komunikat „pustym”). – Matt
Dzięki, miałem jedno zdanie do tyłu, po prostu zredagowałem, aby naprawić. – Brian