SignalR HubConnection无效的URI

时间:2013-12-03 19:37:04

标签: c# signalr owin

根据我发现的一个例子http://weblog.west-wind.com/posts/2013/Sep/04/SelfHosting-SignalR-in-a-Windows-Service,我正在Windows服务中实现一个SignalR主机服务器。

一切正常,但如果我尝试:

SignalR = WebApp.Start<SignalRStartup>("http://*:8080/");

我得到一个未处理的类型`

的例外
'System.UriFormatException'` occurred in System.dll

Additional information: Invalid URI: The hostname could not be parsed.

如果我使用

,它可以正常工作
SignalR = WebApp.Start<SignalRStartup>("http://localhost:8080/");

可能是一个愚蠢的假设,但基于我从中得到的文章,我假设*:8080语法可行。我的问题是,如果我遗漏了某些内容或文章不正确,这种格式不起作用吗?

2 个答案:

答案 0 :(得分:1)

所以,+确实有用......(是的,我觉得愚蠢)在我的测试过程中,我认为只有我记得以管理员身份运行的时间的1/2,这导致了糟糕的测试结果,因为它失败了因为试图打开端口,而不是因为地址。

通过阅读由@DigitalD链接的Owin / Katana源代码,我了解了这一点。事实证明,它不仅支持+语法,代码中还有一条评论说它假设它......

http://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin.Host.HttpListener/OwinHttpListener.cs

// Assume http(s)://+:9090/BasePath/, including the first path slash. May be empty. Must end with a slash.

答案 1 :(得分:0)

您是否尝试过删除URI中的端口号?

http://localhost代替http://localhost:8080