如果不以管理员身份运行,则SignalR,WPF服务器无法启动

时间:2016-01-20 09:09:57

标签: c# wpf signalr

我们正在使用signalR而不是原始WCF更新现有的Windows桌面软件。 在学习SignalR之初,我们遇到了服务器的问题,它与uri http://localhost:8080很好地相关,但是如果我使用http://*:8080http://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);
        }

有什么想法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

查看URL ACL。您可以在命令行上提供启动此类服务器的权限:

netsh http add urlacl http://+:8080/ user=Everyone

您可以使用 Everyone (必须本地化!)或特定用户。