嵌入式南希不听

Embedded Nancy not listening

我阅读了几个相关问题,这些问题涉及从远程计算机访问 nency。但是,我无法从我自己的电脑访问 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 or http://127.0.0.1:1234(带 /nancy 和不带),我希望得到响应。但是,我确实没有得到任何回应。此外,在使用 netstat -ano 生成的列表中,我没有在端口 1234 上看到任何进程列表。我通过 nuget 下载了最新版本的 nancy。

你有什么想法吗?

下一行应该按预期工作:

var host = new NancyHost(hostConfigs, new Uri("http://localhost:1234"))

但是 using 语句会发生什么,在 () 之间指定的任何内容(简单地说)都会在同一个 using 的右大括号 (}) 之后处理陈述。所以实际发生的是,主机被创建、启动,并在它向控制台打印一些行后立即被处置。

简单地说,将ReadKey调用移到using语句中。在那里它会等到一个键被按下,主机将在该事件发生后被释放。