2011-12-17 15 views
15

Sto creando un modulo Nancy che verrà eventualmente ospitato all'interno di un servizio di Windows. Attualmente sto eseguendolo all'interno di un'applicazione di test WPF. Per avviare il Nancy di hosting, io sto usando Nancy.Hosting.Self e chiamando:Accesso remoto a un host di auto Nancy

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

sulla mia macchina locale sono in grado di andare in un browser web e accedere al mio modulo inserendo http://localhost:8080 nella barra degli indirizzi.

Se vado su un'altra macchina, non sono in grado di accedere al servizio. Il mio Windows Firewall è spento.

Se avvio l'hosting con qualcosa di diverso da localhost in baseUri, ricevo un'eccezione di "accesso negato" quando si chiama nancyHost.Start();

C'è qualcosa che mi manca? Dovrei essere in grado di accedere al modulo Nancy da qualsiasi macchina purché conosca l'IP: Porta alla macchina che esegue l'hosting? C'è qualche tipo di "intestazione host" di cui ho bisogno di essere a conoscenza?

Grazie per il vostro aiuto.

risposta

24

Windows impedisce l'ascolto delle porte senza autorizzazione. È possibile eseguire il processo come amministratore, o aggiungere l'autorizzazione utilizzando "netsh":

netsh http aggiungere urlacl url = http: // +: 8080 utente/app = dominio \ utente

Il "+" è un carattere jolly che può essere ascoltato su qualsiasi IP.

Normalmente dovresti gestire quest'ultimo durante l'installazione, quindi ti consigliamo di eseguire come amministratore il debug, quindi assicurati che il tuo programma di installazione imposta le autorizzazioni pertinenti.

+0

Volevo solo per includere un link per il consiglio! hai pubblicato sul gruppo Google ... https://groups.google.com/forum/#!topic/nancy-web-framework/UnvrNss9pyM Grazie ancora, Brian –

0

Per il debug locale, utilizzare

http://+:8733/Design_Time_Addresses 

È possibile aggiungere qualsiasi sottodirectory che ti piace, per esempio

http://+:8733/Design_Time_Addresses/myService 

ed eseguire il debug a

http://localhost:8733/Design_Time_Addresses/myService 

senza correre il vostro IDE (Visual Studio?) Come amministratore.

0

Guardate questo: Self-Hosting-Nancy

The Host Configuration: UrlReservations, aggiunge con il codice:

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

OK, è possibile creare il vostro ospite ~

Problemi correlati