信号自托管服务器500错误
本文关键字:错误 服务器 信号 | 更新日期: 2023-09-27 18:02:37
我最近对SignalR产生了兴趣,但还没有产生一个工作服务器,无论多么简单。
我遵循GitHub Self Host文档,但我收到一个讨厌的500错误。
我使用的代码如下(基本上是GitHub代码):class Program
{
static void Main(string[] args)
{
string host = "http://localhost:2804";
using (WebApplication.Start<InitialConf>(host))
{
Console.WriteLine("Server started on {0}", host);
Console.ReadKey();
}
}
}
class InitialConf
{
public void Configuration(IAppBuilder appBuilder)
{
var config = new HubConfiguration
{
EnableCrossDomain = true
};
// Map to default /signalr route
appBuilder.MapHubs(config);
}
}
class fooHub : Hub
{
public void DisplayTimeOnServer()
{
Console.WriteLine(DateTime.Now.ToString());
}
}
浏览http://localhost:2804/signalr
产生500错误:
HTTP/1.1 500 Internal Server Error
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
我在应用程序中没有收到异常/错误,所以我不确定为什么它会这样做。
有人遇到过这些问题吗?或者能帮我找到关于这件事的更好的文件?
谢谢
问题是您的Hub class是私有的。把它改成public。
public class fooHub : Hub
{
public void DisplayTimeOnServer()
{
Console.WriteLine(DateTime.Now.ToString());
}
}
您是否尝试在服务器上调试?
你在Hub中缺少一个函数/定义来通知你的客户:
Clients.All.addMessage(message);
除此之外,我建议您查看以下资源:
SignalR主页-教程:http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr
Scott的介绍:http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx
为您的连接设置路由似乎有任何问题。应用程序运行后,您应该能够转到/signalr/hubs并查看有关hub的详细信息。