- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个需要跨 AppDomain-intra-process 和 inter-process-intra-machine 通信的项目。是的...我知道... NET Remoting 被广泛认为是一种遗留技术,但我面临两个非常特殊的问题,也许在这些情况下,WCF 不能完全替代 NET Remoting。
1)跨AppDomain-进程内通信
我正在开发的应用程序启动并且需要在更多插件上搜索和加载一个。我希望将每个插件加载到单独的 AppDomain 中。我需要一种方法来在他的 AppDomain 中创建每个 Addin 实例,并在某个时候调用该实例的一些接口(interface)方法。这里 NET Remoting 是唯一的方法,对吧?此外,如果我们希望应用 System.Addins 范式,显然仅基于 NET Remoting 并且没有标记为过时......
2)进程间机器内通信
在这里,我可以肯定地从我的应用程序中公开 WCF 服务,并使用命名管道从我的客户端调用此服务。
我真正想做的是从我的应用程序中公开一个对象模型,以便我的应用程序可以从一些 NET 客户端自动化,就像 Excel 公开的 OLE/COM 自动化对象模型一样。任何 COM 客户端都可以获取对 Excel.Application 的对象引用并查询打开的文档、打开一些新文档等。
我认为 WCF 很适合以独立于平台的方式进行交流。但在这种情况下,我只需要在同一台机器上从 Net 客户端与 Net 应用程序进行通信。我认为,WCF 服务哲学不允许公开具有对象、集合、字段、静态成员、方法重载的丰富对象模型......或者我错了?
请原谅我糟糕的英语和我可能是新手的问题。
最佳答案
您可以在此处阅读类似问题的答案:Is .NET Remoting really deprecated?
我可以补充一点,我最近使用 .NET Remoting 进行了相对简单的双向进程间通信,并且几乎无缝进行,所以我可以说它在多年来没有得到 Microsoft 的积极支持之后仍然非常有用。
至于 COM,如果您对 COM 客户端可以访问您的产品有强烈要求,我建议通过 COM 互操作显式实现 COM 接口(interface)。此外,还有一篇关于同时使用 COM 和 .NET Remoting 的有趣文章,您可能会感兴趣:http://msdn.microsoft.com/en-us/magazine/cc164085.aspx
关于wcf - NET Remoting 和 MarshalByRefObject 真的死了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064431/
我用 C# 编写了一个非常基本的 Web 服务器,它加载自定义模块来处理对配置文件中指定的特定域名的请求。自定义模块被加载到新的 AppDomain 中,因为我需要能够动态卸载它们(也有利于安全性)。
.NET 有一种称为远程处理的功能,您可以在不同的应用程序域甚至物理机之间传递对象。我不完全理解魔法是如何完成的,因此提出了这个问题。 在远程处理中,有两种传递对象的基本方法 - 要么可以序列化它们(
我有一个 .net WinForms 应用程序,它可以将插件 (dll) 加载到它们自己的 AppDomain 中,每个 dll 使用 domain.CreateInstanceAndUnwrap()
我一直在绞尽脑汁想弄清楚一些事情。所以,我正在寻找建议和研究 Material (通过链接)。场景如下: 我们有一个库(例如,CommonLib),其中包含其他几个应用程序(例如,AppA、AppB、
MarshalByRefObject 的用途是什么? 最佳答案 远程处理;这意味着在 AppDomain 或机器之间,不是序列化和传输对象,对象停留在一端,而代理在另一端创建。对代理的所有方法调用都被
在 AppDomain A 中,我有一个类型为 T 的对象 o。 T 既不是 Serializable 也不是从 MarshalByRefObject 派生的。 T 类型由我无法控制的插件主机提供。
我目前正在修改一个插件架构,以便它利用 AppDomains。我的插件与我在网上找到的许多示例之间的主要区别在于,我的主应用程序不是运行插件并将其结果发送回主应用程序,而是向插件发送信息的应用程序。
我在两个 .NET 应用程序域之间传递一些数据时遇到了一些问题,我希望这里有人可以帮助我。 基本上我拥有的是一个主应用程序 (Main),它将程序集 A 和 B 加载到它的主域中,然后当我运行插件(C
在 VS2010 C# 项目中,我们有一个从 MarshalByRefObject 派生的类,我们使用 Activator.GetObject 来设置它。我们正在使用这个派生类通过网络与一台机器对话。
我有一个案例,我必须跨 AppDomains 使用一些类。为了使它们工作,我让它们继承自 MarshalByRefObject。这些类的一切都按预期工作。但是这些类在我们的整个系统中都在使用,而且 9
各种消息来源解释说 When an object derives form MarshalByRefObject, an object reference will be passed from on
我正在尝试将 C# 应用程序移植到 .NET(客户端服务器),但遇到了序列化问题。 Linux客户端序列化and对象,Windows服务器无法反序列化,报错: System.Runtime.Seria
是否可以确定可用于转换 MarshalByRefObject 对象的接口(interface)? 强制转换运算符如何处理 MarshalByRefObject 对象?它调用 CreateObjRef
我对 .NET Remoting 中的 [Serializable] 和 :MarshalByRefObject 属性感到很困惑。但是我读了很多关于它的文章。如果我使用 [Serializable]
我试图在 stackoverflow 上找到一个解决方案,但似乎找不到一个与我的非常相似的解决方案,所以就到这里吧。我在实验室有一台计算机连接到各种设备,如平移/倾斜装置、相机和光传感器,并安装了所有
在我的 Azure Web 角色代码中,我有一个派生自 System.Security.Principal.IIdentity 的 CustomIdentity 类。在某些时候 .NET 运行时 tr
我正在开发一个需要跨 AppDomain-intra-process 和 inter-process-intra-machine 通信的项目。是的...我知道... NET Remoting 被广泛认
我正在处理我的第一个使用 AppDomains 的项目,我想知道当一个对象从 MarshalByRefObject 派生并且也被标记为 [Serializable] 时会发生什么? 例如: [Seri
如何在像 C# 这样的多继承截断语言中解决“必须是 MarshalByRefObject”? 问题很简单,在某些情况下你只需要继承这个类(基础设施要求)。在这里真的无关紧要,哪种情况。那么,如果您已经
我知道这听起来很愚蠢,但我只是好奇。我的讲师问了这个问题,我们一头雾水。 :D 最佳答案 您的讲师不正确。 foreach(var type in typeof(Uri).Assembly.GetTy
我是一名优秀的程序员,十分优秀!