Wie kann ich den Visual Studio Asp.Net Debugger dazu bringen, sich an alle IP-Adressen meines Netzwerks zu binden, anstatt an localhost? So kann ich unter anderen Umständen debuggen.
Antworten
Zu viele Anzeigen?Para IIS-Express erteilen Sie sich selbst die Berechtigung, sich sowohl an localhost als auch an Wildcard-Netzwerkadapter zu binden, und konfigurieren Sie IIS Express für die Bindung an diese Adapter.
Details zum Schritt: (sie gehen von einer Portnummer von 5555 aus - verwenden Sie stattdessen Ihren tatsächlichen Port)
-
Führen Sie diese Befehle in einer Eingabeaufforderung als Administrator aus:
netsh http add urlacl url=http://localhost:5555/ user="NT AUTHORITY\INTERACTIVE" netsh http add urlacl url=http://*:5555/ user="NT AUTHORITY\INTERACTIVE"
-
Unter %USERPROFILE% \Documents\IISExpress\config\applicationhost.config fügen Sie eine Platzhalterbindung zu Ihrer Website hinzu. Das Ergebnis sollte wie folgt aussehen:
<site name="..." id="..."> <!-- application settings omitted for brevity --> <bindings> <binding protocol="http" bindingInformation="*:5555:localhost" /> <binding protocol="http" bindingInformation="*:5555:*" /> </bindings> </site>
Wenn Sie das Debugging Ihres Projekts von Visual Studio aus starten, befindet sich die Datei applicationhost.config, die verwendet wird, in einem anderen Verzeichnis. Leider stören Änderungen an dieser Datei das Visual Studio. Im Moment funktioniert es nur, wenn ich die Datei nach das Projekt in VS zu öffnen und es in den alten Zustand zurückzuversetzen, bevor das Projekt erneut in VS geöffnet wird.
Sie finden es unter .vs \config\applicationhost.config in Ihrem Projekt Root.
Dort finden Sie einen - Block, in dem Sie localhost durch einen * ersetzen können
<bindings>
<binding protocol="http" bindingInformation="*:50216:*" />
</bindings>
Außerdem müssen Sie einen Net-Acl hinzufügen
netsh http add urlacl url=http://localhost:50216/ user="NT AUTHORITY\INTERACTIVE"
netsh http add urlacl url=http://*:50216/ user="NT AUTHORITY\INTERACTIVE"