2009-10-08 4 views
0

WCF에서 net.tcp 바인딩을 호출하는 클린트의 호스트 이름을 가져 오는 방법이 있습니까? 문제를 진단하려고하는데 어떤 클라이언트가 내게 메시지를 보내고 있는지 확인하고 싶습니다.WCF를 통해 호출하는 클라이언트의 호스트 이름을 가져 오는 중입니까?

OperationContext.Current.Channel.RemoteAddress.Uri.AbsoluteUri 

을하지만 그것은 단지 나에게 일반적인 스키마가 아닌 호스트 이름/IP 주소를 제공하는 것 같다

나는 시도했습니다.

답변

6

RemoteAddress는 이중 채널에만 유효하다고 생각합니다. 필요한 것은 다음과 같은 RemoteEndpointMessageProperty입니다.

var remp = OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; 
string addr = remp.Address; 
// do a DNS lookup or whatever from here if you want the hostname 
+0

그냥 필요한 것. 뛰어난 작품! 감사! –

관련 문제