关于 .NET 远程处理和序列化的问题

发布于 2024-12-06 09:25:05 字数 314 浏览 1 评论 0原文

我有一个接口(将其命名为 OuterInt)和一个实现它的类(OuterClass)。接口 OuterInt 由其他接口(InnerInt1、InnerInt2 等)组成,并且有一些类(InnerClass1、InnerClass2 等)实现这些内部接口。 OuterClass 通过 .NET 远程处理由应用程序的服务器端公开 (RemotingServices.Marshal(_OuterClass, "myOuterInt");) 我的问题是内部类是否会在远程处理过程中被序列化,应用程序的客户端是否应该知道这些类(例如,引用这些类的程序集)?我希望我明确地描述了我的问题,如果没有 - 请在评论中询问我。

I have a interface (let name it OuterInt) and a class (OuterClass) that implemented It. Interface OuterInt consists of the other intefaces (InnerInt1, InnerInt2 and etc.) And there are some classes (InnerClass1, InnerClass2 and etc.) that implement these inner interfaces. OuterClass is exposed by server-side of application by .NET remoting (RemotingServices.Marshal(_OuterClass, "myOuterInt");)
My question is will inner classes be serialized in the process of remoting or not and should client-side of application knows about those classes (for example to have reference of assembly with these classes)? I hope that I described my question explicitly, if not - ask me in comments.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

揪着可爱 2024-12-13 09:25:05

远程处理(正如 Oded 所说,几乎已被弃用)创建一个到对象的远程钩子;不是API(接口)。因此,确实需要在两端具有相同的 dll(包含被远程的具体类型)。是序列化还是代理取决于它是否继承自MarshalByRefObject。但通常情况下:如果它位于一端的对象图中,那么它需要在另一端可创建。

如果可能的话,在我看来,实际上更喜欢任何其他实现而不是远程处理。

Remoting (which is, as Oded notes, pretty much deprecated) creates a remote hook to the object; not the API (the interface). As such, it will indeed be necessary to have the same dll (containing the concrete type being remoted) at both ends. Whether it is serialized vs proxied depends on whether it inherits from MarshalByRefObject. But typically: if it is in the object graph at one end, then it needs to be creatable at the other.

If possible, prefer virtually any other implementation to remoting, IMO.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文