是否可以在信号R中从客户端向服务器端广播消息?

时间:2018-06-25 10:59:35

标签: signalr signalr-hub signalr.client

我的运行功能在客户端。我想在通知栏中显示实时警报。我想将此功能告知服务器端的集线器类,以便执行以下操作。

HubProxy.Invoke("Functionname", parameter1, Parameter2)

在我的Hub类中,我写了以下代码:

private hubConnection = New HubConnection("")
private MyHub As IHubProxy = hubConnection.CreateHubProxy("MyHub")

我不知道将我的功能从客户端传递到服务器。

我的项目是基于桌面应用程序的。

1 个答案:

答案 0 :(得分:0)

服务器部分:

public class YourHub: Hub
{
    public void SendMessageFromClient(string paramOne, string paramTwo)
    {
        // Invokes a message on all connected clients 
        Clients.All.messageFromServer(new ParameterClass() {ParameterOne = paramOne, ParameterTwo= paramTwo} ;
    }
}

有关如何使服务器成为零件的详细信息,您将在这里找到:https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server

客户部分

//create connection
var hubConnection = new HubConnection("yourURL");
IHubProxy yourHub= hubConnection.CreateHubProxy("YourHub");
// Add eventhandler
stockTickerHubProxy.On<ParameterClass>("MessageFromServer", paramObj=> Console.WriteLine("Info from server. ParamOne:{0} ParamTwo {1}", paramObj.ParameterOne , paramObj.ParameterTwo ));
// Start connection
await hubConnection.Start();

ParameterClass的样子:

public class ParameterClass{
  public string ParameterOne {get; set;}
  public string ParameterTwo {get; set;}
}

有关客户的详细信息:https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-net-client