嵌入式Nancy不听

时间:2018-07-21 10:29:17

标签: c# visual-studio-2017 nancy

我阅读了几个相关的问题,这些问题与从远程计算机访问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:1234http://127.0.0.1:1234(使用/ nancy和不使用/ nancy),则期望得到响应。但是,我确实得到了任何答复。此外,在使用netstat -ano生成的列表中,我在端口1234上看不到任何进程列表。我通过nuget下载了最新版本的nancy。

你有什么主意吗?

1 个答案:

答案 0 :(得分:2)

以下行应按预期工作:

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

但是using语句会发生什么,就是在()之间指定的任何内容(简单放置)都放在同一using语句的右括号(})之后。因此,实际发生的情况是,在创建主机,启动主机并在向控制台打印一些行之后立即将其丢弃。

简单地将ReadKey调用移至using语句内。在那里,它会一直等到按下某个键为止,并且在该事件发生后将处置主机。