我使用signalr
来实现聊天应用程序
但是,我收到以下错误:
`类型的例外 'Microsoft.AspNet.SignalR.Client.HttpClientException'
发生在mscorlib.dll中,但未在用户代码中处理
其他信息:StatusCode:500,ReasonPhrase:'内部 Server Error',版本:1.1,内容:System.Net.Http.StreamContent, 头:
{
日期:2015年8月21日星期五07:22:52 GMT
服务器:Microsoft-HTTPAPI / 2.0
内容长度:0
}
我不知道为什么。我使用的是signalR 2.2.0版 这是我的中心
class ChatHub : Hub
{
public void Send(string message)
{
Clients.All.addMessage(message);
}
public override Task OnConnected()
{
Console.WriteLine("Client connected: " + Context.ConnectionId);
return base.OnConnected();
}
}
这是我的Startup class
class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
我的服务器程序
class Program
{
const string url = "http://localhost:8080";
static void Main(string[] args)
{
WebApp.Start(url);
Console.WriteLine("Started server at " + url);
Console.ReadLine();
}
}
我在客户端winform中的功能
private async void AsyncConnect()
{
Connection = new HubConnection(url);
chatProxy = Connection.CreateHubProxy("ChatHub");
chatProxy.On<string>("addMessage", message =>
txtMessageShow.Text += message + Environment.NewLine);
await Connection.Start();
}
答案 0 :(得分:0)
您的Hub Proxy在完成连接之前调用Signalr管道。请在调试时放置事件处理程序以检查连接状态的确认。
hubConnection.StateChanged += (e) => { Debug.WriteLine(e.NewState)};