温馨提示×

描述如何在Hub中定义和调用方法

小樊
89
2024-05-09 15:08:58
栏目: 编程语言

在Hub中定义和调用方法非常简单。首先,在Hub类中定义一个方法,方法可以是公共或私有的,并且可以带有参数和返回类型。例如:

public class MyHub : Hub
{
    public void SendMessage(string message)
    {
        Clients.All.SendAsync("ReceiveMessage", message);
    }
}

在上面的代码中,定义了一个名为SendMessage的方法,该方法接收一个字符串参数message,并通过Clients.All.SendAsync方法将消息发送给所有客户端。

然后,在客户端的代码中,可以通过HubConnection对象调用定义的方法。例如,使用SignalR的JavaScript客户端:

var connection = new signalR.HubConnectionBuilder().withUrl("/myHub").build();

connection.start().then(function() {
    connection.invoke("SendMessage", "Hello, world!");
}).catch(function(error) {
    console.error(error);
});

在上面的代码中,首先创建了一个HubConnection对象,然后调用start方法启动连接,最后调用invoke方法调用定义的SendMessage方法,并传递消息参数"Hello, world!"。

总之,只需要在Hub类中定义方法,然后在客户端代码中使用HubConnection对象调用该方法即可实现在Hub中定义和调用方法。

0