Ich habe einen WCF-Dienst mit einem HttpBinding. Der Dienst wird in einem Self-Hosting-Prozess (einem Windows-Dienst) ausgeführt, und dieser Prozess befindet sich in der Windows-Firewall-Ausnahmeliste.WCF-Dienst von Windows-Firewall blockiert
Wenn die Firewall aktiv ist und ich versuche, mit einem C# -Client oder Internet Explorer auf den Dienst zuzugreifen, reagiert der Dienst nicht. Aber wenn die Firewall deaktiviert ist, funktioniert die Verbindung wie ein Zauber.
Hat jemand eine Gültigkeit mit WCF und der Windows-Firewall? Das Problem trat auf Windows 7 64bit auf. Ich habe noch kein anderes Betriebssystem getestet.
Was soll ich tun, damit das mit einer aktiven Firewall funktioniert?
Grüße Michael
EDIT: fand ich einen Hinweis, dass die http.sys der Firewall Ausnahmeliste hinzugefügt werden muss, wie wcf Selbst Hosting http.sys verwendet. Irgendwelche Ratschläge, wie man das löst?
EDIT: Ich habe versucht, alle Listening-Port Öffnen von Hand, die auch funktioniert, aber ist keine Option, weil ich nicht weiß, sie im Voraus.
versuchen, den Port zu öffnen, den der Dienst verwendet? Port 80, 8080 oder was auch immer Sie konfiguriert haben. Da es reguläre http verwendet, kann ich das Problem nicht sehen :( – KTrum
Ich habe es gerade ausprobiert und es funktioniert. Aber um eine einfache Benutzererfahrung zu bieten, ist dies keine Option in produktiven Umgebung. (Es scheint, dass der Port geändert wird ...) –
Klingt merkwürdig, dass sich der Port ändern würde? Verwenden Sie IIS, um den Dienst zu veröffentlichen? Ich nehme an, Sie müssten eine Routine ausführen, die überprüft, welchen Port der Dienst jetzt verwendet, und diesen Port in der Firewall öffnen Wenn der Port in der Firewall geschlossen ist, können Sie wahrscheinlich nicht auf den Dienst zugreifen – KTrum