SignalR Self Hosted Server 500错误

时间:2013-03-07 08:49:46

标签: c# signalr signalr-hub

我最近对SignalR感兴趣,但是无论多么简单,我都还没有生产出有效的服务器。

我已经关注了GitHub自我主持人documentation但我收到了一个令人讨厌的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

我在应用程序中没有收到任何异常/错误,所以我不确定它为什么会这样。

任何人都有这些问题的经验吗?或者也许可以引导我更好地记录这件事?

谢谢

3 个答案:

答案 0 :(得分:2)

问题是您的Hub类是私有的。 只需将其更改为公开。

public class fooHub : Hub
{
    public void DisplayTimeOnServer()
    {
        Console.WriteLine(DateTime.Now.ToString());
    }
}

答案 1 :(得分:1)

您是否尝试在服务器上进行调试?

您在Hub中缺少一个功能/定义来通知您的客户:

Clients.All.addMessage(message);

其他我建议您查看以下资源:

SignalR的主页 - 教程:http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

斯科特的介绍:http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

答案 2 :(得分:1)

为您的连接设置路由似乎存在任何问题。应用程序运行后,您应该可以转到/ signalr / hubs并查看有关集线器的详细信息。