2011-11-15 12 views
8

Quindi, abbiamo un grande programma che utilizza HttpListener per una piccola funzione di amministrazione remota. Per ragioni che non capisco, alcune persone hanno problemi con un errore 503.Che cosa causa un errore HTTP 503 HttpListener?

Poiché non stiamo fornendo l'errore, c'è qualcosa che accade nel framework. Ora, la mia domanda è: cosa all'interno del framework fornisce questo errore? È che i prefissi non sono impostati correttamente o qualcosa del genere?

Attualmente il nostro prefisso è impostato su "http: // *: 8080 /".

Consigli?

+0

Funziona a volte senza ottenere l'errore 503? –

+0

Non ne sono sicuro. È un cliente che ha problemi. Qualche consiglio se è/non è costante? – RandomInsano

+0

Non mi sembra un problema di autorizzazioni se non è costante ... –

risposta

15

Ho lo stesso errore su Windows 7, quando provo a impostare le autorizzazioni per HttpListener usando il comando http netsh. Sul sistema di destinazione eseguire il comando (valido per Windows 7):

netsh http show urlacl  

e verificare, se l'URL "http://+:8080/" già presentato nella lista degli URL riservata. .. Provare a rimuovere dalla lista (usando "netsh http cancellare urlacl" soggetti simili here

+0

Ottima risposta, ho avuto lo stesso problema: uno dei miei test utilizzava la classe HttpSelfHostConfiguration che richiedeva di prenotare l'url usato (via netsh) mentre un altro test che ha usato HttpListener ha gettato l'errore HTTP 503 quando ho voluto accedervi, perché l'url era stato prenotato in anticipo dal primo test. –

+0

Ho avuto lo stesso problema (errore 503) nel tentativo di raggiungere un HttpListener in esecuzione su una porta personalizzata. Ho trovato l'URL dopo aver eseguito 'show urlacl' e rimosso con' delete urlacl [custom URL: port] '. Dopo che ha funzionato. Grazie. – walterpaoli

0

Sono un po 'tardi per la domanda, ma ho appena affrontato il codice di stato HTTP 503 nel seguente caso:.

Se, ad esempio, è presente "http://+:8080/MyService/" e "http://+:8080/MyService/SOAP" registrato utilizzando netsh http aggiungere urlacl, riceviamo 503 per richieste che hanno come target un URL ambiguo. Le richieste per "http://myservice:8080/MyService/somethingelse" hanno funzionato correttamente, mentre le richieste per "http://myservice:8080/MyService/SOAP/" non sono riuscite con stato 503.

Aggiunto questo per completezza. Ci ho messo un po ' per capire.