C# 关于.NET远程处理和序列化的问题
我有一个接口(命名为outerprint)和一个实现它的类(OuterClass)。接口outerprint由其他接口(InnerInt1、InnerInt2等)组成,还有一些类(InnerClass1、InnerClass2等)实现这些内部接口。OuterClass由.NET远程处理(RemotingServices.Marshal(_OuterClass,“MyOutInt”);)在应用程序的服务器端公开 我的问题是,内部类是否会在远程处理过程中序列化,应用程序的客户端是否应该知道这些类(例如,对这些类进行汇编引用)?我希望我能明确地描述我的问题,如果不是的话——在评论中问我。远程处理(正如Oded所指出的,它非常不受欢迎)创建了一个指向对象的远程钩子;不是API(接口)。因此,两端确实需要有相同的dll(包含要远程的具体类型)。它是序列化还是代理取决于它是否继承自C# 关于.NET远程处理和序列化的问题,c#,.net,remoting,C#,.net,Remoting,我有一个接口(命名为outerprint)和一个实现它的类(OuterClass)。接口outerprint由其他接口(InnerInt1、InnerInt2等)组成,还有一些类(InnerClass1、InnerClass2等)实现这些内部接口。OuterClass由.NET远程处理(RemotingServices.Marshal(_OuterClass,“MyOutInt”);)在应用程序的服务器端公开 我的问题是,内部类是否会在远程处理过程中序列化,应用程序的客户端是否应该知道这些类(例
MarshalByRefObject
。但通常情况下:如果它在对象图的一端,那么它需要在另一端创建
如果可能的话,我更喜欢几乎任何其他的实现而不是远程处理。远程处理已经过时-改用WCF。我不能使用WCF,因为工作环境的原因。@Praetor12(这不是一个愚蠢的问题;不要放下你自己)如果我发送一个对象的实例,但该对象可以看到其他的东西,它可以看到其他的东西。。。等然后,整个可到达对象集就是图。当远程处理需要序列化时,它会使用
二进制格式化程序
,这将发送尽可能多的内容。感谢您快速简单的回答。如果远程处理以这种方式进行,那将是丑陋和无效的。我认为它只发送调用方法的参数或字段和属性的值,并且只需要序列化远程处理对象:(@Praetor12这完全取决于什么是代理还是序列化;例如,一个方法的结果可以是序列化的对象图,也可以是代理;同样,一个方法的参数可以是序列化的图,也可以是代理。如果没有一些非常具体的例子,就不可能说得更多。