I'm new to AKKA and i can't figure out a general proper way to integrate a backend actor system with my WPF views.

I studied a few examples i found (all very similar, probably based on this), but in my opinion they can't be really taken as a guideline.

How do you tipically make an actor system and WPF communicate?

  • WPF is just a display technology; your communication with the backend system (of which AKKA is a part) takes place in your Model (the "M" of MVVM). WPF doesn't care about your Actors; any interaction with the UI takes place the same way it would without the Actor model. There might be some threading implications (WPF uses a Single-Threaded Apartment; changes from other threads must be marshalled onto WPF's main thread using Invoke() to be displayed on the UI). Sep 28, 2017 at 16:39
  • @RobertHarvey Are you sure it takes place in the model? My actor system lives between the model and the viewmodel actually. it turns out there's must be some kind of bridge between the viewmodel and the actor and setting it up seems quite messy Sep 29, 2017 at 12:29
  • My actor system lives between the model and the viewmodel actually. -- No it doesn't. It's just considered part of the model. Oct 4, 2017 at 15:08
  • My model is a database entity. I doubt an actor system should live there. Oct 5, 2017 at 10:39
  • The database (and the data layer, and the service layer and the business layer and your Actors) are all part of the Model in MVVM. To differentiate your database model from the Model in MVVM, simply call it the "Database Model." Oct 5, 2017 at 13:41

1 Answer 1


There is not enough detail in your question to give an exact answer.

Typically, some form of Socket communication is used. The Actor model relies on receiving and sending messages. So you have various choices of how you want to send messages between processes. A quick Google search shows that you can use Akka Remoting which seems to make the remote message passing transparent to your app. You would need to include that both in your WPF project and the in the remote process you are trying to connect to.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.