18

在使用 Nancy FX 时,我遇到了以下尝试启动 Web 服务时抛出的异常:AutomaticUrlReservationCreationFailureException

经过更详细的研究,我发现解决此问题的方法是运行 cmd 提示符(以管理员身份),然后运行以下命令:

netsh http add urlacl url=http://+:1234/ user=DOMAIN\username

在哪里

  • DOMAIN\username是服务将在其下运行的用户的 ID
  • 1234是服务将运行的端口

我在这里写这个,以防其他人遇到同样的问题并且花了半个小时左右毫无结果地寻找答案 - 希望他们会比我更快地找到这个!

4

3 回答 3

17

如果您正在创建自己的 NancyFx 主机,以这种方式标记您的 HostConfiguration 可能会更容易

HostConfiguration hostConfigs = new HostConfiguration()
{
    UrlReservations = new UrlReservations() { CreateAutomatically = true }
};

或者...

HostConfiguration hostConfigs = new HostConfiguration();
hostConfigs.UrlReservations.CreateAutomatically = true;

然后终于有了类似的东西

NancyHost nancyHost = new NancyHost(new Uri("http://+:80"), new DefaultNancyBootstrapper(), hostConfigs);
于 2014-06-27T05:38:43.957 回答
16

MessageAutomaticUrlReservationCreationFailureException告诉你这个

The Nancy self host was unable to start, as no namespace reservation existed for the provided url(s).

Please either enable CreateNamespaceReservations on the HostConfiguration provided to the NancyHost, or create the reservations manually with the (elevated) command(s):

http add urlacl url=http://+:8888/nancy/ user=Everyone
http add urlacl url=http://127.0.0.1:8888/nancy/ user=Everyone
http add urlacl url=http://+:8889/nancytoo/ user=Everyone

建议的预留基于您在创建主机时传递给主机的基本 URI。

于 2013-08-22T05:49:12.540 回答
11

如果您从 Visual Studio 运行 NancyFX ,AutomaticUrlReservationCreationFailureException也会出现。

因此,请确保您以管理员身份运行,以便 NancyFX 设置底层配置

于 2016-03-09T23:04:09.597 回答