【发布时间】:2018-08-01 15:02:12
【问题描述】:
我正在尝试将 nancy self hosting 集成到我的 wpf 项目中,当我启动程序时,我能够从本地浏览器连接到 rest api,但无法从另一台计算机连接。
HostConfiguration hostConfigs = new HostConfiguration();
hostConfigs.UrlReservations.CreateAutomatically = true;
NancyHost host = new NancyHost(hostConfigs, new Uri("http://localhost:1234"));
host.Start();
有没有办法可以将 Uri 设置为通配符,就像在其他内置 Web 服务器中一样,0.0.0.0 或 + ?
编辑 Windows 防火墙已禁用!! 我也尝试过使用不同的主机配置,以http://10.10.10.149:1234" 作为主机。我尝试过"http://+:1234,这个没有构建,它会抛出错误。
我还完全删除了 hostConfigs 并通过在 powershell 中运行一些命令将 ACL 添加到系统中,就像许多文章中所建议的那样:
netsh http add urlacl url="http://+:12345/" user="Everyone"
仍然只能从本地浏览器连接,不能从其他网络位置连接。每当我尝试通过 rest api 连接到运行程序的机器时,我得到 503 Service Unavailable。
【问题讨论】:
-
您确定这在另一台计算机上不起作用吗?您是否消除了阻止访问防火墙的问题?
-
防火墙已关闭。我可以从本地计算机连接,但不能从同一局域网中的计算机连接。
-
你是如何连接到它的?你用的是什么地址?
-
带有网络浏览器。我制作了一个模块并添加了 GET 响应,基本上是这样的:Get["/"] = _ => "Received GET request";但正如我之前提到的,当我在本地计算机上使用浏览器打开 URL 时,我得到了响应,但同一 LAN 上的另一台计算机上的浏览器显示无法连接。我正在使用正确的 IP 和端口。
-
再说一次,你没有告诉我你使用什么地址来连接应用程序。
标签: c# wpf visual-studio-2017 nancy windows-console