根据我发现的一个例子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语法可行。我的问题是,如果我遗漏了某些内容或文章不正确,这种格式不起作用吗?
答案 0 :(得分:1)
所以,+确实有用......(是的,我觉得愚蠢)在我的测试过程中,我认为只有我记得以管理员身份运行的时间的1/2,这导致了糟糕的测试结果,因为它失败了因为试图打开端口,而不是因为地址。
通过阅读由@DigitalD链接的Owin / Katana源代码,我了解了这一点。事实证明,它不仅支持+语法,代码中还有一条评论说它假设它......
// 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