2012-10-01 15 views
5

Ho scartato quello che stavo lavorando con e sono andato al più semplice di codice:Nancy self Hosting - Servizio non disponibile - Win7

class Program 
{ 
    static void Main(string[] args) 
    { 
     var nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080")); 
     nancyHost.Start(); 

     Console.ReadLine(); 
     nancyHost.Stop(); 
    } 
} 
public class MainModule : Nancy.NancyModule 
{ 
    public MainModule() 
    { 
     Get["/"] = x => 
     { 
      return "Hello world!"; 
     }; 
    } 
} 

Quando si naviga a

http://localhost:8080 

ottengo:


Servizio non disponibile

Errore HTTP 503. Il servizio non è disponibile.


Ho provato diverse soluzioni. Tra cui diverse variazioni su: Remote access to a Nancy Self Host

Tutte le idee?

risposta

5

Assicurati di utilizzare Visual Studio come amministratore e che 8080 non sia utilizzato da qualcos'altro allo stesso tempo. Dai un'occhiata alla demo self-hosting che imposta un paio di URI diversi per un'applicazione self-host https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Hosting.Self/Program.cs#L12

+2

avevo provato questo e non ha risolto il problema. Ma ho preso il codice su un'altra macchina e ho provato e ha funzionato. Quindi sono permessi in qualche modo? Sto approvare la risposta perché o è necessario eseguire come amministratore o la necessità di autorizzazioni di installazione utilizzando netsh. Ma ancora non so perché non funzionerà su questa particolare macchina. – PerryJ

+0

esegue Visual Studio come amministratore funziona per me. Grazie. – dns

+4

Perché la gente pensa che in esecuzione come amministratore è un'opzione valida? Impara a lavorare con il sistema di sicurezza, non contro di esso. –

0

Non so quanto valore avrà questa risposta, ma ho riscontrato lo stesso errore 503 quando ho iniziato Nancy con questa combinazione di impostazioni:

_nancyHost = new NancyHost(new HostConfiguration { 
     RewriteLocalhost = false 
    }, 
    new Uri(string.Format("http://localhost:{0}", port))); 

è verificato l'errore quando si utilizza un browser locale accedendo http://localhost:3684/ a Nancy in esecuzione in un servizio di Windows come sistema locale

La revisione precedente con RewriteLocalHost sulla impostazione di default del vero aveva funzionato Questa è stata una delle cose che stavo cercando durante il tentativo di diagnosticare la mia domanda qui: How do I remotely access self-hosted Nancy service?

Problemi correlati