CC影子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在对Remoting的服务端进行拦截时遇到了些问题,先后采取两种方式都不行
1、基于自定义代理的
     实现RealProxy并通过ProxyAttribute设置对象需要自定义代理,
     这种方式比较糟糕,除了第一次请求创建服务端对象有消息外什么也拦截不到

2、在上下文边界上分配侦听接收器
     利用IContextAttribute,IContextPropery和IContributeServerContextSink,
     开始一切都很顺利,创建服务端对象的请求和无返回值方法调用都OK,可在测试有返回值的方法时不对了,执行NextSink.SyncProcessMessage(msg)时服务端CPU100%,然后出现“堆栈溢出”的异常

这两种方式在非Remoting下都是OK的,对基于代理的因为Remoting会创建自已的代理对象,可以理解,另一种却不清楚了。

 

posted on 2006-04-11 12:47  CC影子  阅读(1234)  评论(6编辑  收藏  举报