I m using Akka.Net 1.4.1 in Windows 10 environment.
I m using async await tasks within Untyped actor and so far have not run into any issues. As expected, only the current message is processed until await for a task is completed within the OnReceive method. No parallel messaging processing for the same actor begins until one message is completely handled. However, I could not find this as a documented behavior. Most of the posts talk about using ReceiveAsync to have this behavior.
Can anyone confirm the behavior of using Async/Await inside OnReceive method of Untyped Actors in post Akka.Net 1.4.1 version?
According to my understanding the OnReceive is not designed for async processing.
If you look at the signature of the method itself:
void OnReceive(object message)
then it returns with a void
rather than with a Task
.
On the other hand ReceiveAsync does receive and async handler:
void ReceiveAsync<T>(Func<T, IActorContext, Task> handler, Predicate<T> shouldHandle = null);
For further information please check this article.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With