2013-08-21 13 views
15

Podczas korzystania Nancy FX, natknąłem się na następujący wyjątek, który został rzucony, gdy próbuje odpalić usługę internetową: AutomaticUrlReservationCreationFailureExceptionJak naprawić AutomaticUrlReservationCreationFailureException podczas korzystania Nancy FX Samodzielny Host

Spojrzeliśmy na niego w nieco więcej szczegół, odkryłem, że sposób, aby rozwiązać ten problem był nadbiec cmd prompt (jako administrator), a następnie uruchomić następujące polecenie:

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

gdzie

  • DOMAIN\username jest identyfikator użytkownika, usługa będzie prowadzony pod
  • 1234 jest portem, że usługa będzie działać na

Piszę to tutaj na wypadek gdyby ktoś inny przychodzi po drugiej stronie tej samej kwestii i spędza bezowocne pół godziny lub tak szuka odpowiedzi - mam nadzieję, że znajdą to szybciej niż ja!

+0

należy sformatować to jako pytanie i dostarczyć swoją odpowiedź do niego; Pomoże to przyszłym użytkownikom, zwłaszcza jeśli istnieją inne rozwiązania. –

Odpowiedz

14

Message z AutomaticUrlReservationCreationFailureException powie to

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 

Sugerowana rezerwacji jest oparty na URI bazowych, które przechodzą do gospodarza podczas jego tworzenia.

+0

Ach tak, widziałem, że powinienem wyglądać nieco trudniej na komunikat błędu - przepraszam, że nie zauważyłem. Jestem dość obeznany z narzędziami konfiguracji sieci, więc nie zrozumiałem, co oznacza ta wiadomość. Dziękuję bardzo za pomoc w odpowiedzi na moje pytanie. –

+6

Ten krok nie wydaje się konieczny, jeśli tworzę własny serwer sieciowy za pomocą HttpListener - tylko ciekawy dlaczego byłby potrzebny dla Nancy? – chrisb

13

Jeśli tworzysz własne gospodarz NancyFx, może być łatwiejsze do flaga Twój HostConfiguration ten sposób

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

lub ...

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

I wreszcie mieć coś podobnego

NancyHost nancyHost = new NancyHost(new Uri("http://+:80"), new DefaultNancyBootstrapper(), hostConfigs); 
+1

Czy to wymaga konta usługi Nancy do posiadania lokalnych uprawnień administratora? –

+0

uzyskać z kodem tat: System.InvalidOperationException: Nie można skonfigurować rezerwację namespace na Nancy.Hosting.Self.NancyHost.StartListener() na Nancy.Hosting.Self.NancyHost.Start() – Arnaud

+0

Ok, rozumiem. Dzieje się tak dlatego, że po francusku "Wszyscy" to "Tout le monde" z dwoma spacjami i że polecenie, które uruchamia Nancy, nie chroni argumentu za pomocą cytatów ... Sot, że ta metoda nie jest niezawodna na razie, należy użyć programu netsh w programie instalacyjnym . – Arnaud

7

Pojawi się również AutomaticUrlReservationCreationFailureException, jeśli korzystasz z NancyFX z Visual Studio.

Więc upewnij się, że działa jako administrator w celu NancyFX ustawić konfiguracje bazowe

Powiązane problemy