2013-03-07 139 views
4

我最近对SignalR感兴趣但尚未生成工作服务器,不管它有多简单。SignalR自托管服务器500错误

我跟着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 

我接收也不例外/错误的应用程序,以便我不确定它为什么会这样。

任何人都有这些问题的经验吗?或者也许可以引导我在这方面提供更好的文档?

谢谢

+0

你无法浏览到,但你可以浏览到http://本地主机:2804/signalr /洽谈 – davidfowl 2013-03-13 13:23:45

回答

1

似乎有与设置的任何问题为您的连接建立一条路线。应用程序运行后,您应该能够访问/ signalr/hubs并查看有关集线器的详细信息。

2

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

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

阿经典的应该待公共尽管-IT-IS使用的反射。他妈的!我非常接近疯狂! – danr 2017-02-28 13:03:02

+0

保存了我的一天。谢谢。应该标出接受的答案! – tinudu 2017-05-04 10:10:09