【发布时间】:2022-09-29 13:03:17
【问题描述】:
我想在启动 WPF 应用程序时启动 SignalR 服务器。这样客户就可以交流了。我在 WPF 中有以下代码。
protected override async void OnStartup(StartupEventArgs e)
{
AppHost = Host.CreateDefaultBuilder()
.ConfigureServices(ConfigureRequiredServices(e))
.ConfigureWebHostDefaults(webBuilder => webBuilder
.UseUrls(\"http://localhost:5059\")
.ConfigureServices(services => services.AddSignalR())
.Configure(app => {
app.UseRouting();
app.UseEndpoints(endpoint => { endpoint.MapHub<MyHub>(\"/myhub\"); });
}))
.Build();
await AppHost!.StartAsync();
base.OnStartup(e);
}
现在,当我尝试从控制台应用程序访问 signalR 服务器时,我无法做到这一点。知道我缺少什么吗?
客户端代码:
HubConnection connection = new HubConnectionBuilder()
.WithUrl(\"http://localhost:5059/myhub\")
.Build();
connection.StartAsync();
connection.SendAsync(\"SendMessege\", \"A Message from Client\");
connection.On<String>(\"ReceiveMessege\", x => Console.Write(x));
Console.ReadLine();
-
也许 \"SendMessege\" 和 \"ReceiveMessege\" 应该是 \"SendMessage\" 和 \"ReceiveMessage\"。
-
在致电
StartAsync和SendAsync之前,请致电connection.On...。
标签: wpf signalr signalr-hub asp.net-core-6.0