.Net Remoting - 代表序列化

时间:2009-11-24 14:34:12

标签: c# .net serialization remoting

我为已建立的应用程序编写了一个自定义远程格式化程序接收器。格式化程序似乎适用于大多数情况,直到我尝试使用它来调用我将回调传递给CAO的远程方法。此时我得到一个SerializationException,表明我正在尝试序列化CAO,这显然不是我想要做的。 CAO继承自MBRO,对象生命周期在此阶段不会发挥作用。

有没有人知道如何在格式化程序中序列化传入的IMessage,以便保留对CAO的引用?我假设我需要走对象图,将CAO转换为ObjRef然后可以序列化,但我的问题更为基础,因为我没有具体的'Message'来序列化,只有IMessage。我宁愿不使用反射。

我知道WCF,但由于应用程序非常庞大,所以不希望在此阶段迁移到它。

1 个答案:

答案 0 :(得分:1)

有一篇关于 Codeproject 的优秀文章可能会为您提供您正在寻找的answers。在远程处理中实现事件/委托是非常棘手的,并且解决方法也很难实现。阅读这篇文章的最佳网站是这位家伙,Ingo Rammer撰写并撰写了一本关于远程教育的优秀书籍。我过去曾使用过GenuineChannels来规避标准.NET远程处理中使用的事件处理限制,它确实有效。但是GenuineChannels似乎已经陷入困境......

希望这有帮助, 最好的祝福, 汤姆。