gpt4 book ai didi

.net - SignalR .NET 客户端调用引发异常

转载 作者:行者123 更新时间:2023-12-01 12:56:18 24 4
gpt4 key购买 nike

我正在尝试让控制台应用程序与 SignalR .Net 客户端一起工作,但是当我尝试调用集线器上的方法时出现错误。这是我的控制台应用程序代码:

static void Main(string[] args)
{
var connection = new HubConnection("http://localhost/SignalRTest");
var myHub = connection.CreateProxy("SignalRTest.Classes.service");

myHub.On<string>("addMessage", text =>
{
Console.WriteLine(text);
});

connection.Start().ContinueWith(task =>
{
if (task.IsFaulted)
{
Console.WriteLine("There was an error opening the connection: {0}", task.Exception.GetBaseException());
}
else {
Console.WriteLine("Connected.");
}
}).Wait();


myHub.Invoke("Send", "Message from console.").ContinueWith(task => {
if (task.IsFaulted)
{
Console.WriteLine("There was an error calling Send: {0}", task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Send complete.");
}

});


Console.ReadLine();

}

这是来自服务器的集线器:

[HubName("service")]
public class ServiceHub : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}

我假设控制台应用程序连接正确,因为它写出“已连接”。但是当它试图调用服务器上的 Send 方法时,出现以下错误:

System.Net.WebException:远程服务器返回错误:(500) 内部服务器错误。 在 System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在 SignalR.HttpHelper.<>c_DisplayClass2.b_0(IAsyncResult ar) 在 System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar,Func2 endMethod,TaskCompletionSource`1 tcs)

谁能告诉我我做错了什么?谢谢。

最佳答案

此问题似乎是由使用无效的集线器名称引起的(使用 CreateProxy 时)。奇怪的是启动方法没有失败,但我只是测试了这个并得到了与你使用不存在的集线器名称相同的行为。

关于.net - SignalR .NET 客户端调用引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9661041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com