2011-12-17 10 views
15

Estoy creando un Módulo Nancy que eventualmente se alojará dentro de un Servicio de Windows. Actualmente lo estoy ejecutando dentro de una aplicación de prueba WPF. Para iniciar el alojamiento Nancy, estoy usando Nancy.Hosting.Self y llamando:Acceso remoto a Nancy Self Host

nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080")); 
nancyHost.Start(); 

en mi máquina local soy capaz de ir a un navegador web y acceder a mi módulo mediante la introducción de http://localhost:8080 en la barra de direcciones.

Si voy a otra máquina no puedo acceder al servicio. Mi Firewall de Windows está apagado.

Si inicio el alojamiento con cualquier cosa que no sea localhost en la baseUri, recibo una excepción de "acceso denegado" al llamar a nancyHost.Start();

¿Hay algo que me falta? ¿Debería poder acceder al módulo de Nancy desde cualquier máquina, siempre que conozca el IP: puerto a la máquina que realiza el hosting? ¿Hay algún tipo de "host headering" que deba tener en cuenta?

Gracias por su ayuda con esto.

Respuesta

24

Windows evitará que escuches puertos sin permiso. Usted puede ejecutar su proceso como administrador, o añadir el permiso utilizando "netsh":

netsh http añadir urlacl url = http: // +: 8080/app user = dominio \ usuario

El "+" es un comodín para que pueda escuchar en cualquier IP.

Normalmente manejaría este último durante la instalación, por lo que es posible que desee ejecutar como administrador para depurar, luego asegúrese de que su instalador establezca los permisos pertinentes.

+0

Sólo quería incluir un enlace a los consejos! publicado en el Grupo de Google ... https://groups.google.com/forum/#!topic/nancy-web-framework/UnvrNss9pyM Gracias de nuevo, Brian –

0

Para la depuración local, utilice

http://+:8733/Design_Time_Addresses 

Usted puede agregar cualquier subdirectorio que te gusta, por ejemplo

http://+:8733/Design_Time_Addresses/myService 

y depurarlo en

http://localhost:8733/Design_Time_Addresses/myService 

sin correr el IDE (Visual Studio?) Como administrador.

0

mirar esto: Self-Hosting-Nancy

la configuración del host: UrlReservations, agrega el código:

var configuration = new HostConfiguration 
     { 
      UrlReservations = new UrlReservations { CreateAutomatically = true } 
     }; 

OK, puede crear su anfitrión ~

Cuestiones relacionadas