【问题标题】:Not able to Start SignalR server in WPF无法在 WPF 中启动 SignalR 服务器
【发布时间】: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\"。
  • 在致电 StartAsyncSendAsync 之前,请致电 connection.On...

标签: wpf signalr signalr-hub asp.net-core-6.0


【解决方案1】:

发现问题。基本上,ConfigureWebHostDefaults 应该在 ConfigureServices 之前。所以下面的代码可以工作并且能够获得服务器调用。客户端没有变化。

AppHost = Host.CreateDefaultBuilder()
                          .ConfigureWebHostDefaults(webBuilder => webBuilder
                          .UseUrls("http://localhost:5059")
                          .ConfigureServices(services => services.AddSignalR())
                          .Configure(app => {
                              app.UseRouting();
                              app.UseEndpoints(endpoint => { endpoint.MapHub<MyHub>("/myhub");});
                          }))
                          .ConfigureServices(ConfigureRequiredServices(e))
                          .Build();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-23
    • 2019-03-28
    • 1970-01-01
    • 2019-07-20
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    相关资源
    最近更新 更多