我们正在使用signalR而不是原始WCF更新现有的Windows桌面软件。
在学习SignalR之初,我们遇到了服务器的问题,它与uri http://localhost:8080
很好地相关,但是如果我使用http://*:8080
或http://MyIPServer:8080
,那么在我在admin下运行程序之前它不起作用
在没有管理员权限的情况下正常运行时,webApp.start
出现错误(发生异常,仅此而已!)。
我在Windows防火墙中添加了一个过滤规则,以接受所有8080
端口入站,但没有取得多大成功
代码很简单(来自Microsoft示例):
const string ServerURI = "http://localhost:8080";
private void StartServer()
{
try
{
SignalR = WebApp.Start(ServerURI);
}
catch (TargetInvocationException ex)
{
WriteToConsole("A server error: " + ex.Message );
this.Dispatcher.Invoke(() => ButtonStart.IsEnabled = true);
return;
}
this.Dispatcher.Invoke(() => ButtonStop.IsEnabled = true);
WriteToConsole("Server started at " + ServerURI);
}
有什么想法吗?
感谢您的帮助。
答案 0 :(得分:3)
查看URL ACL。您可以在命令行上提供启动此类服务器的权限:
netsh http add urlacl http://+:8080/ user=Everyone
您可以使用 Everyone (必须本地化!)或特定用户。