创建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”部分?
答案 0 :(得分:1)
NancyHost构造函数需要一个有效的Uri对象,并且创建它无法指定一个HOST。根据您的应用程序,可以在程序内部,某种形式的通信或设置文件中编辑HOST。不要将HOST硬编码为localhost,即使你认为它会保持这种状态,保持可修改的东西是一种很好的做法。如果您希望设置文件尽可能简单,请将其拆分为2个文件:
basicSettings
advancedSettings
其中advancedSettings只包含您很少的东西,如果有的话,更改和basicSettings包含您希望更频繁更改的内容。
在某个时间点,您可能希望连接到其他主机,因为NancyHost已移动到云或同一网络中的其他系统(后者更有可能)。如果发生这种情况,你应该让它可以修改。