2017-08-23 2 views
0

Ich habe ein Dienst auf http://127.0.0.1:2113/ gehostet und haben die folgende URL-Registrierung in http.sysRegistrierung Wildcard in http.sys nicht Loopback-Adressen übereinstimmen

http://*:2113/ 

jedoch aus irgendeinem Grund der Dienst gemacht wirft die Ausnahme

System.Net.HttpListenerException (0x80004005): Access is denied 
HTTP async server failed to start listening 

Wenn ich auch noch die URL Anmeldung

http://127.0.0.1:2113/ 

ht tp.sys, dann funktioniert es. Das gleiche Szenario entfaltet, wenn ich hosten den Service auf http://localhost:2113/

Kann jemand dies erklären? Ich habe über Wildcard-Registrierungen in http.sys gelesen und von was ich verstehen kann, sollte es auch diese Adressen übereinstimmen. Vielleicht sollte ich hinzufügen, dass ich überprüft habe, dass ich keine anderen Registrierungen auf Port 2113 habe.

Antwort

0

Die Adresse, die Sie mit Netsh.exe registrieren (http: // *: 2113 /) müssen genau Passen Sie die Adresse an, die Sie HttpListener geben, das ist eine http.sys-Anforderung.

+0

Danke für die Klarstellung. Ich fand hier Dokumentation über Wildcards (sowohl * als auch +): https://msdn.microsoft.com/en-us/library/windows/desktop/aa364698(v=vs.85).aspx Aber laut deiner Antwort, Dies gilt nicht für http.sys Registrierungen? – SabrinaMH

+0

Sie können Platzhalter in Ihrer Registrierung verwenden, aber dann müssen Sie den gleichen Platzhalter verwenden, wenn Sie HttpListener starten. Bei den Wildcard-Regeln, mit denen Sie verknüpft sind, handelt es sich um Ereignisse bei mehreren Registrierungen/Apps. – Tratcher

+0

Noch einmal vielen Dank für die ausführliche Erklärung! :) – SabrinaMH