[英]How to use actors of akka.net in MVVM?
在控制台應用程序或單元測試中使用akka.net似乎非常容易。
但是我想嘗試一些參與者來使用一種簡單的登錄方法:打開初始屏幕,發送登錄命令,在登錄成功后關閉初始屏幕。 現在,答案將發送給演員。 等待Ask呼叫的答案將阻止UI。 MainViewModel已經從基類派生,因此使其成為actor並不是一種選擇。
public void OnStartupCommand(EventArgs args)
{
_splashScreen = new SplashScreenView();
_splashScreen.Show();
// [1]
_actorSystem.ActorSelection("/user/system").Tell(new Login("Me"));
// [2]
var mainWindowActor =_actorSystem.ActorOf(Props.Create(() => new
MainWindowActor(this)), "mainwindow");
mainWindowActor.Tell(new Login("me"));
// [3]
var result = await _actorSystem.ActorSelection("/user/system").Ask(new Login("me"));
}
我想知道如何通過Actor消息填充ListViews或ComboBoxes。
默認情況下,大多數Akka actor安排在后台線程中,因此它們無法在UI上進行直接更新(僅允許應用程序的UI /主線程執行此操作)。 如果要在UI線程上生成actor,則需要將其配置為使用SynchronizedDispatcher 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.