为什么 Nancy 需要本地主机的 URLACL,而 OWIN-self-host 不需要?

pie*_*rs7 4 .net nancy owin

(再次)对 .Net 中的 http url 保留以及何时需要/不需要它们感到困惑。

我创建了一个“hello world”.net 4.5 控制台应用程序,将其配置为在http://localhost:9001上托管基本服务,并以非管理员身份运行。

当服务由 Nancy 自托管时,它会失败并表示需要 URL 预留(netsh http add http://localhost:9001等...)

但是,如果服务由 Nancy-hosted-in-OWIN 托管,使用 OWIN 自托管,则localhost uris显然不需要此类 URL 预留。

是什么赋予了?该错误是否来自 Nancy 虚假(可能是旨在引导成功的配置检查中的误报),还是 Nancy 自托管使用了与 OWIN 自托管不同的 API 集(以某种方式)更加挑剔?

(注意:我知道http://+:porthttp://some.ip:port预订需要预订,我正在尝试找出为什么http://localhost:port行为似乎有所不同)

lor*_*gia 5

如此处所述https://github.com/NancyFx/Nancy/wiki/Self-Hosting-Nancy默认行为是将“ http://localhost:port ”重写为http://+:port,您可以禁用此功能通过传递一个

new HostConfiguration { RewriteLocalhost = false }
Run Code Online (Sandbox Code Playgroud)