SignalR 遇到问题/缺乏知识,我有一个集线器客户端/服务器和一个单独的 GUI 应用程序,它会间歇性地连接到集线器并发送消息。我要么需要保持连接,要么需要在发送消息后断开连接。
我遇到的问题是它总是会发送第一条消息,但随后会卡住发送第二条消息。我不确定这是为什么。
public void SignalR_Connect(string message)
{
var connection = new HubConnection("http://site/signalr");
IHubProxy myHub = connection.CreateProxy("chat");
Console.WriteLine("Connection state is : " + connection.State.ToString());
connection.Start().ContinueWith(task =>
{
Console.WriteLine("Attempting to Connect");
if (task.IsFaulted)
{
Console.WriteLine("There was an error opening the connection:{0}", task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Client Connected");
}
}).Wait();
//Sending message
myHub.Invoke("Send", message).ContinueWith(task =>
{
if (task.IsFaulted)
{
Console.WriteLine("There was an error calling send: {0}", task.Exception.GetBaseException());
Console.WriteLine(task.Status.ToString());
}
else
{
Console.WriteLine("Send Complete.");
}
}).Wait();
//Back round to get the next message.
//Method grabs next message in the MSMQ and sends it to SignalR_Connect method.
Read_Queue();
}
我已经尝试过 connection.stop() ,在集线器上实现一个 close 方法来通知服务器客户端离开并设置 GlobalHost.Configuration.ConnectionTimeout 但我仍然得到相同的行为。