2012-06-15 6 views
14

In einer meiner Anwendungen benötigt Client-IP-Adresse in einem WCF-Dienst, der mit HTTPS 443-Bindungen gehostet wird.Abrufen der Client-IP-Adresse in einem mit HTTPS 443-Bindungen gehosteten WCF-Dienst

und ich versuchte, die meisten von den Posten des Stapelüberlauf und andere Seite zu diesem Thema, aber wenn ich in Server meine Anwendung gehostet es nur Server-IP-Adresse holen, aber ich brauche Adresse angefordert Client jeder eine Idee haben, in Bezug auf diese

Vielen dank im Voraus ..

+0

vergessen Sie nicht, dass es nur möglich ist, wenn Sie sich nicht hinter einem Reverse-Proxy sind, oder eine NAT-Brücke. –

Antwort

29

In .NET 3.5 Sie tun können, die unten Muster verwenden (mit System.ServiceModel)

OperationContext context = OperationContext.Current; 
MessageProperties prop = context.IncomingMessageProperties; 
RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; 
string ip = endpoint.Address; 
+0

danke @ gupta-vini – Anand