[英]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.