.net remoting 事件调用循环处理中重复返回的问题.

最近又用到REMOTING,配置文件的写法,没有找到在CONFIG里面自动提示REMOTING配置节的方法,不知是不是没有添加引用 什么的.

定了一个REMOTING的客户端.服务端注册一个通道和端口,客户端也写一个通道,端口要求是0好像.

遇到一个问题:

从表中读取不同的URL,每个URL实体化一个COMMAND,然后由于要远程调用,就用到代理类的方法,将事件注册到代理类上,再将代理类的处理方法注册到客户端服务实例的调用上,表中有两条服务地址记录,发现每次都会接收两次同样的结果,也就是重复了,找了好久,最后终于发现,原来是我将代理类注册方法的过程添加到的循环体里,这样,每一个URL,代理类就注册了一次事件,也就是事件多注册了,在全局上,应该是只注册一次事件,如此肯定会重复接收.

另外,通道注册要放在主线程里,只注册一次,这个也是全局的.

总结:通信过程中,一定要分清楚哪些是全局的,比如事件,比如通道,这些个都是全局的,事件的处理一定要只注册一次即可.不然肯定不正确.

posted @ 2013-05-15 18:51  calochCN  阅读(174)  评论(0编辑  收藏  举报