C# 信号服务器抛出;“内容类型不正确”;
在我转向必要的应用程序(Android)之前,我正在尝试创建一个使用控制台应用程序作为客户端的工作信号器示例,但我面临一个奇怪的问题。我的服务器是ASP.NET 5(DNX Core 5.0),服务器库是Signal.server 3.0.0-rc1-final 这是迄今为止我的客户机代码:C# 信号服务器抛出;“内容类型不正确”;,c#,signalr,asp.net-core,signalr-hub,C#,Signalr,Asp.net Core,Signalr Hub,在我转向必要的应用程序(Android)之前,我正在尝试创建一个使用控制台应用程序作为客户端的工作信号器示例,但我面临一个奇怪的问题。我的服务器是ASP.NET 5(DNX Core 5.0),服务器库是Signal.server 3.0.0-rc1-final 这是迄今为止我的客户机代码: private static void Main(string[] args) { var connection = new HubConnection("http://127.0.0.1:5000
private static void Main(string[] args)
{
var connection = new HubConnection("http://127.0.0.1:5000/");
var myHub = connection.CreateHubProxy("TestHub");
connection.Start().ContinueWith(task => {
if (task.IsFaulted)
{
Console.WriteLine(task.Exception.GetBaseException());
}
else {
Console.WriteLine("Connected");
}
}).Wait();
myHub.Invoke<string>("Send", "Hello World!").ContinueWith(task => {
if (task.IsFaulted)
{
Console.WriteLine(task.Exception.GetBaseException());
}
else {
Console.WriteLine(task.Result);
}
});
}
但在下一次连接/调用尝试时会产生以下错误:
误用的标题名。确保请求头与
HttpRequestMessage、带有HttpResponseMessage的响应头,以及
包含HttpContent对象的内容头
此外,在服务器日志中,我看到它已经是application/json
,所以我对这个异常有点困惑
这是我服务器上的集线器,但它并不真正相关,因为它没有到达Send
方法
[HubName("TestHub")]
public class TestHub : Hub
{
public string Send(string message)
{
return message;
}
}
我做错什么了吗?如果您有任何帮助/想法,我将不胜感激。我不确定您可能使用的AspNet.signal.Client 2.2是否与服务器3.0完全兼容。然而,对于4.5.1,在向web服务器(Kestrel)添加websocket支持后,我已经让它工作了。
在project.json中:
Microsoft.AspNet.WebSockets.Server": "1.0.0-rc1-final",
在Startup.cs中:app.UseWebSockets();
您还可以使用仍处于早期开发阶段的本机cpp客户端。(目前似乎只支持WebSocket)。虽然我最近几周没有将SignalR与Asp.Net 5一起使用,但我知道它们还不兼容,2016年初,SignalR 3将不会成为Asp.Net 5发行版的一部分。如果我有时间,我会试着看看我是否能让它工作,但正如我所说的,它们还没有工作。祝你好运!
app.UseWebSockets();