homestyle

 

WCF 重新设置服务器地址的bug

原本以为

EndpointAddress ep = new EndpointAddress(EndPoint);
Proxy.Endpoint.Address = ep;

这样重新赋值就可以搞定了,结果调试的时候明明Endpoint的值已经改变了,但信道里地址错误,而且地址仍然是之前的地址,最后找到原因是

Proxy.InnerDuplexChannel.Faulted += new EventHandler(InnerDuplexChannel_Faulted);这一句话一开始放在了上面两句话的前面,把它放在后面之后,就可以了。

似乎,在为信道注册事件的时候,WCF内部默认采用了之前已有的地址,并把这个值传给了通信信道,之后再给代理赋值,信道就不更新了,这是不是WCF的一个bug呢?

posted on 2012-12-27 12:33  homestyle  阅读(252)  评论(0编辑  收藏  举报

导航