2012-06-15 9 views
14

W jednej z moich aplikacji potrzebuję adresu IP klienta w usłudze WCF hostowanej przy użyciu powiązań HTTPS 443.Uzyskaj adres IP klienta w usłudze WCF hostowanej przy użyciu powiązań HTTPS 443.

i próbowałem większość stanowisku przepełnienie stosu i inne strony dotyczące tego problemu, ale kiedy gospodarzem mojej aplikacji na serwerze po prostu pobierać adres IP serwera, ale muszę żądany adres klienta każdy ma jakiś pomysł odnośnie tego

Dzięki z góry ..

+0

nie należy zapominać, że będzie to możliwe tylko wtedy, jeśli nie jesteś za reverse proxy, lub most NAT. –

Odpowiedz

29

W .NET 3.5 można to zrobić za pomocą poniższego wzoru (przy użyciu System.ServiceModel)

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

dzięki @ gupta-vini – Anand