我读了几个相关的问题,这些问题与从远程计算机访问nency有关。但是,我无法从自己的pc访问nancy。
下面是我的代码:
class Program
{
static void Main(string[] args)
{
HostConfiguration hostConfigs = new HostConfiguration();
//hostConfigs.RewriteLocalhost = true;
hostConfigs.UrlReservations.CreateAutomatically = true;
using (var host = new NancyHost(hostConfigs, new Uri("http://localhost:1234")))
{
host.Start();
Console.WriteLine("Running on http://+:1234");
Console.WriteLine(host.ToString());
}
Console.ReadKey();
}
}
public class HelloModule : NancyModule
{
public HelloModule()
{
Get["/"] = parameters => Response.AsJson("Success");
Get["/nancy"] = parameters => Response.AsJson("Success");
}
}
}我是我的PC的管理员,我没有得到任何例外。如果我在浏览器中输入http://localhost:1234或http://127.0.0.1:1234 (带/nancy和不带/nancy),我会得到响应。然而,我没有得到任何回应。此外,在使用netstat -ano生成的列表中,我没有看到端口1234上的任何进程列表。我通过nuget下载了最新版本的nancy。
你有什么想法吗?
发布于 2018-07-21 18:36:18
下面这行代码应该可以正常工作:
var host = new NancyHost(hostConfigs, new Uri("http://localhost:1234"))但是using语句的作用是,在(和) (简单地说)之间指定的任何内容都将在同一个using语句的右大括号(})之后处理。所以实际发生的是,主机被创建,被启动,并在它将一些行打印到控制台后立即被释放。
简单地说,就是将ReadKey调用移到using语句中。它将在那里等待,直到按键被按下,并且主机将在该事件发生后被释放。
https://stackoverflow.com/questions/51455171
复制相似问题