首页 新闻 会员 周边

一个关于WCF取客户端IP的问题

0
[待解决问题]

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

通过以上方法可以在WCF端获取客户端的IP,我的客户端是Silverlight程序,我用普通的http单工通信这种方法是管用的,但如果我用的是Duplex的http双工,这种方法取得的ip就是空字符串。请问一下这是什么原因?

王臣的主页 王臣 | 初学一级 | 园豆:0
提问于:2011-01-19 13:23
< >
分享
所有回答(2)
0

单工也就是我们普通的请求/答复 模式 当你服务端发出请求 服务端会等待客户端的响应结果   而WCF中的双工 是不会等待 服务端会继续走服务端的代码  客户端处理服务端的请求 处理完毕向服务器端响应   这是我的理解   不一定正确  互相讨论哈

anjko | 园豆:205 (菜鸟二级) | 2011-01-19 20:53
0

Duplex的http双工通信的前提是双方都知道彼此的地址

Launcher | 园豆:45045 (高人七级) | 2011-01-19 21:49
既然互相知道对方的地址,那更应该能获取客户端IP啊,那么这个问题是为什么呢?
支持(0) 反对(0) 王臣 | 园豆:0 (初学一级) | 2011-01-20 20:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册