如何从文本框发送文本与SignalR从客户端到集线器

本文关键字:文本 SignalR 客户端 集线器 | 更新日期: 2023-09-27 18:19:19

我正在努力解决一个初学者的问题。在谷歌上搜索了几个小时后,我没有找到正确的答案(也许在德语中没有很好的解释)。

我创建了一个hub。在我的客户端,我要发送一个文本框中填写到我的枢纽文本。但这行不通。我尝试了网上的每一个教程。有人能帮我吗?

下面是我的代码:

中心类:

class myhub : Hub
{
    public void sendPatName (string name)
    {
        Clients.All.broadcastMessage(name);
        Console.WriteLine (name);
    }
}

客户端代码

var hubConnection = new HubConnection("http://192.168.188.33:8080");
IHubProxy PatScreenProxy = hubConnection.CreateHubProxy("myhub");
//this doesn't work
// PatScreenProxy.On<string>("boradcastMessage", (param) => this.Invoke((Action)(() => textBox2.AppendText(string.Format("{0}", param)))));
hubConnection.Start().Wait();
string PatName = this.txtbLastname.Text;
PatScreenProxy.Invoke("sendPatName", PatName);

当我尝试

PatScreenProxy.Invoke("sendPatName", "PatName");

我在我的hub接收字符串PatName。

如何发送文本框的内容?

如何从文本框发送文本与SignalR从客户端到集线器

我相信你的问题与这一行有关:

     PatScreenProxy.Invoke("sendPatName", PatName);

尝试显式地将其转换为字符串:

     PatScreenProxy.Invoke("sendPatName", PatName.ToString());