Ähnlich wie die Visual Studio-Entwicklungswebserver (Cassini) Einschränkung, dass es nur auf localhost Server betreibt, habe ich eine WCF-Dienst-Implementierung, die nur auf localhost benötigt wird.Konfigurieren von WCF für nur LOCALHOST-Listening
Ich hätte nichts dagegen, dass andere Computer Zugriff haben, außer dass die Windows-Firewall das Programm auffordert, dem externen NIC zuzuhören. Da dies nur intern benötigt wird, würde ich eher die WCF Server-seitige Konfiguration einschränken, so dass der Firewall-Detektor nicht ausgelöst wird.
Ist binding.HostNameComparisonMode = HostNameComparisonMode.Exact
die richtige Lösung? Ich sehe nicht, wie das genug ist.
====
wie Cassini, diese Service-Implementierung ist ein Stand-in für etwas anderes, die Netzwerk-Kommunikation erfordert. Der Client kann so konfiguriert werden, dass er sich mit dem echten Server oder der falschen Implementierung verbindet, die auf localhost ausgeführt wird.
Ich habe die Bindung ausprobiert.HostNameComparisonMode = HostNameComparisonMode.Exact erneut und es funktioniert nicht. Nachdem die entsprechenden Windows-Firewall-Regeln gelöscht wurden, fordert die Firewall erneut auf, sie zuzulassen. –
Ich habe auch eine 'neue Uri (" net.tcp: // localhost ")' als Basisadresse für den ServiceHost-Konstruktor –
hinzugefügt Nun, es scheint, dass die Firewall Sie unabhängig davon, ob es ein Loopback-Host oder ist nicht. Ich bin mir nicht sicher, ob Sie irgendetwas anderes dagegen tun können, als Named Pipes zu benutzen. – jrista