【问题标题】:Signalr core client - call server methode from Razor componentSignalr 核心客户端 - 从 Razor 组件调用服务器方法
【发布时间】:2022-01-19 13:49:03
【问题描述】:

我如何从 Razor 组件向我的服务器发送消息?

情况: 我与我的服务器建立了有效的 SignalR (Core) 连接。

我的客户代码:

public class StartMySignalR
    {
        HubConnection connection;
        public async void StartSignalRHub()
        {
            connection = new HubConnectionBuilder()
                 .WithUrl(new Uri("https://myurl.my/LogOnHub"))
                 .WithAutomaticReconnect()
                 .Build();

                connection.On<string>("ReceiveMessage", (message) =>
                {
                  //Do some stuff
                  ii.InsertIntoLog("INFO", "SignalR ID = " + message);
                });
  
                //Start SignalR client
                await connection.StartAsync();

                //Send message to server (test connection).
                await connection.InvokeAsync("WelcomeMessage", connection.ConnectionId);
     

我向我的服务器发送了一条测试消息,它工作正常。我也可以从我的服务器发回一条消息,.. 到目前为止一切顺利。但是现在我想从我的 OnInitializedAsync() 任务中的 Razor 组件中做到这一点。因此,当我的页面加载时,测试消息会发送到我的服务器。我被卡住了。当我尝试从我的 Razor 组件发送消息时,我收到一个错误(System.NullReferenceExeption - 对象引用未设置为对象的实例)-> 连接为空错误。

谁能把我引向正确的方向?

【问题讨论】:

    标签: signalr signalr.client asp.net-core-signalr


    【解决方案1】:

    当我将 Hubconnection 设置为静态时,它可以工作。

    public static HubConnection connection;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多