NancyHost是否可能使用另一个主机名而不是localhost?

时间:2017-08-03 08:07:24

标签: c# .net server localhost nancy

创建Nancy自托管控制台应用程序需要包含PORT的本地地址作为参数:

using (var host = new NancyHost(new Uri("http://localhost:1234")))
{
   host.Start();
   Console.ReadLine();
}

虽然自定义PORT是一个有效的用例,但是可以使用另一个HOST而不是(“http://localhost”)。如果是,哪些以及出于哪个原因?

背景:

我正在为服务器创建自定义设置文件,我想知道它是否足以提供设置'端口',或者是否更好地提供包含HOST的设置'主机'(或'URL')作为PORT?

修改

为了避免硬编码,可以通过应用程序设置(App.config)配置HOST部分,该设置与服务器管理员使用的自定义设置文件不同。但是,我想保持自定义设置文件尽可能简单。因此,问题是:是否有任何可以想到的原因应该修改“http://localhost”部分?

1 个答案:

答案 0 :(得分:1)

NancyHost构造函数需要一个有效的Uri对象,并且创建它无法指定一个HOST。根据您的应用程序,可以在程序内部,某种形式的通信或设置文件中编辑HOST。不要将HOST硬编码为localhost,即使你认为它会保持这种状态,保持可修改的东西是一种很好的做法。如果您希望设置文件尽可能简单,请将其拆分为2个文件:

basicSettings

advancedSettings

其中advancedSettings只包含您很少的东西,如果有的话,更改和basicSettings包含您希望更频繁更改的内容。

在某个时间点,您可能希望连接到其他主机,因为NancyHost已移动到云或同一网络中的其他系统(后者更有可能)。如果发生这种情况,你应该让它可以修改。