Żądania jednokierunkowe
Ziarna wykonują asynchroniczne wykonywanie żądań, wymagając, aby wszystkie metody interfejsu ziarna zwracały typ asynchroniczny, na przykład Task. Oczekiwanie na ukończenie zadania zwróconego z wywołania ziarna powiadamia obiekt wywołujący, że żądanie zostało zakończone, umożliwiając im obsługę wyjątków lub odbieranie wartości zwracanych. Orleans Obsługuje również żądania jednokierunkowe, umożliwiając obiektom wywołującym powiadamianie ziarna o zdarzeniu bez oczekiwania wyjątków lub sygnałów ukończenia.
Żądania jednokierunkowe natychmiast wracają do wywołującego i nie sygnalizują awarii ani ukończenia. Jednokierunkowe żądanie nawet nie gwarantuje, że obiekt wywoływany odebrał żądanie. Główną zaletą jednokierunkowego żądania jest to, że oszczędzają koszty obsługi komunikatów związane z wysyłaniem odpowiedzi z powrotem do obiektu wywołującego i w związku z tym mogą poprawić wydajność w niektórych wyspecjalizowanych przypadkach. Żądania jednokierunkowe to zaawansowana funkcja wydajności i powinna być używana z ostrożnością i tylko wtedy, gdy deweloper ustalił, że jednokierunkowe żądanie jest korzystne. Zaleca się preferować regularne żądania dwukierunkowe, które sygnalizują uzupełnianie i propagują błędy z powrotem do osób wywołujących.
Żądanie można wykonać w jeden sposób, oznaczając metodę interfejsu ziarna za OneWayAttributepomocą metody , w następujący sposób:
public interface IOneWayGrain : IGrainWithGuidKey
{
[OneWay]
Task Notify(MyData data);
}
Jednokierunkowe żądania muszą zwracać elementy Task lub ValueTask i nie mogą zwracać ogólnych wariantów tych typów (Task<TResult> i ValueTask<TResult>).
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: