远程访问南希自我主机

时间:2011-12-17 23:23:46

标签: nancy

我正在创建一个最终将在Windows服务中托管的Nancy模块。我目前正在WPF测试应用程序中运行它。为了开始Nancy托管,我正在使用Nancy.Hosting.Self并致电:

nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080"));
nancyHost.Start();

在我的本地计算机上,我可以通过在地址栏中输入http://localhost:8080来访问网络浏览器并访问我的模块。

如果我去另一台机器,我无法访问该服务。我的Windows防火墙已关闭。

如果我在baseUri中使用localhost以外的任何东西启动托管,则在调用nancyHost.Start()时会出现“访问被拒绝”异常;

我有什么遗失的东西吗?我是否能够从任何机器访问Nancy模块,只要我知道IP:进行托管的机器的端口?是否有任何类型的“主机标题”我需要注意?

感谢您的帮助。

3 个答案:

答案 0 :(得分:25)

Windows会阻止您在未经许可的情况下侦听端口。您可以以管理员身份运行流程,也可以使用“netsh”添加权限:

  

netsh http add urlacl url = http:// +:8080 / app user = domain \ user

“+”是一个通配符,因此它可以侦听任何IP。

通常情况下,您在安装过程中会处理后者,因此您可能希望以管理员身份运行以进行调试,然后确保安装程序设置相关权限。

答案 1 :(得分:0)

对于本地调试,请使用

http://+:8733/Design_Time_Addresses

您可以添加任何您喜欢的子目录,例如

http://+:8733/Design_Time_Addresses/myService 

并在

调试
http://localhost:8733/Design_Time_Addresses/myService

不以管理员身份运行IDE(Visual Studio?)。

答案 2 :(得分:0)

看看这个:Self-Hosting-Nancy

主机配置:timeout,在代码下添加:

UrlReservations

好的,你可以创建你的主机!〜