Wie kann ich die Adresse eines Clients von einer WCF-Dienstanwendung abrufen? Wird ein Ereignis ausgelöst, wenn ein Client eine Verbindung herstellt, möglicherweise mit Adressinformationen?Wie erhalte ich die Adresse eines Clients von einer WCF-Dienstanwendung?
Antwort
In 3.0 ist das ziemlich schwer; wurde jedoch in 3.5 verbessert (read Detect Client IP in WCF 3.5). Ich bin mir eines Ereignisses jedoch nicht bewusst.
Nach welcher Adresse suchen Sie? Die IP-Adresse?
Wenn ja, ich hoffe, Sie sind sich der Einschränkungen bewusst - es wird nicht korrekt sein, wenn der Client auf der anderen Seite eines NAT-Geräts oder Internet-Proxy ist.
Wenn System.Web.HttpContext.Current.Request.UserHostAddress nicht null ist, hat es die Remoteadresse. Aber das könnte ein Proxy oder Load Balancer sein (der Fall, den ich in unserer Produktionsumgebung habe).
Es wäre einfacher gewesen, wenn der WCF-Host eine Möglichkeit bietet, die Serviceanforderer-IP abzurufen - so dass Sie diese Methode aufrufen können, um den ursprünglichen Requester zu erhalten.
Sie können so etwas wie OperationContext.Current.IncomingMessageHeaders.To.Host
folgende verwenden
- 1. Node.js: Erhalte die IP-Adresse des Clients
- 2. Wie bekomme ich die MAC-Adresse eines Clients von HttpServlet?
- 3. Wie erhalte ich die Adresse einer Funktion?
- 4. Wie bekomme ich die Remote-Adresse eines Clients in Servlet?
- 5. Wie erhalte ich die IP-Adresse eines entfernten WCF-Endpunkts?
- 6. Wie erhalte ich einen Firmennamen von einer IP-Adresse?
- 7. Wie bekomme ich die IP-Adresse des Remote Desktop Clients?
- 8. Wie bekomme ich die IP-Adresse des Clients vom Server?
- 9. Die IP-Adresse eines Clients erhalten Für einen Webservice
- 10. Wie erhalte ich die Remote-IP-Adresse von Clients, die eine Verbindung zu einem Rebol3-basierten Server herstellen?
- 11. Wie bekomme ich die LAN IP eines Clients mit Java?
- 12. Wie erhalte ich die physische (MAC-) Adresse einer IP-Adresse mit C#?
- 13. Wie erhalte ich die Zeitzone eines Benutzers?
- 14. Holen Sie die IP-Adresse des Clients
- 15. Erhalte die Erweiterung von einer E-Mail-Adresse
- 16. Erhalte den Hostnamen von der IP-Adresse
- 17. Wie ermittle ich die IP-Adresse eines Web-Clients (für eine JSP)?
- 18. Wie erhalte ich die PID eines Knotennamens?
- 19. Wie erhalte ich die android_id eines Geräts?
- 20. Wie erhalte ich die Facebook-E-Mail-Adresse?
- 21. Wie erhalte ich die MAC-Adresse/BSSID des aktuellen Zugangspunkts?
- 22. Wie erhalte ich die genaue IP-Adresse des Restify-Servers?
- 23. Wie erhalte ich die Client-IP einer Tornado-Anfrage?
- 24. Wie erhalten Sie die IP-Adresse eines Remote-EJB-Clients in Glassfish?
- 25. Wie erhalte ich die E-Mail-Adresse eines Benutzers mit Accounts-Facebook in Meteor?
- 26. Wie erhalte ich die Zeichengröße einer Schrift?
- 27. Wie erhalte ich die IP-Adresse des lokalen Netzwerks eines Computers programmgesteuert? (C#)
- 28. Wie finde ich die Koordinaten einer Adresse?
- 29. Ermitteln der IP-Adresse eines verbundenen Clients auf dem Server
- 30. Wie erhalte ich den Wert eines Nachkommenelements?
ich keine Kenntnis von den Einschränkungen, aber für meine Anwendung, NATs und Proxies wird kein Problem sein. Ich habe auf eine IP-Adresse oder sogar einen Windows-PC-Namen gehofft. – MGSoto
Ok, das ist nur eine andere Sache, über die man nachdenken sollte: Wenn sich die Netztopologie ändert, werden sie sich zuerst beraten lassen, oder werden die "Netzwerk" Leute annehmen, dass sie das Netzwerk ohne Erlaubnis der "Programmier" Leute ändern können? Denn so funktioniert es normalerweise und wie soll es funktionieren. –
Wenn sich die Topologie ändert, sollte es so einfach sein, wie eine Konfigurationsdatei oder zwei zu ändern, aber am Ende wird diese immer in einem lokalen Netzwerk laufen. – MGSoto