【问题标题】:Is it possible to hold object instances via C# Remoting?是否可以通过 C# Remoting 保存对象实例?
【发布时间】:2010-11-30 16:36:42
【问题描述】:

我是远程处理新手,我想制作一个系统托盘应用程序,用于执行一些后台任务。我还有其他 2 个程序需要访问由系统托盘应用程序修改的对象,它们用它们做事。

差不多是这样的:

托盘应用程序 -> 在后台加载所有内容

程序 1 -> 显示有关托盘应用程序中实例化的“MyObject”的一些信息

程序 2 -> 在 Tray App 中实例化的“MyObject”实用程序,它连接到其他地方的随机服务器并执行操作,

但是我迷失了所有的远程概念。

我正在使用这个:

RemotingConfiguration.RegisterWellKnownServiceType(commonInterfaceType, Constants.ServiceName, WellKnownObjectMode.Singleton);

但它似乎是对对象类本身的引用,而不是它的实例。

如何在应用程序中处理对象并让其他应用程序使用它?我不想使用数据库,也不想序列化另一个文件中的任何内容。

【问题讨论】:

  • 您也看过 Windows Communication Foundation 吗?您可能希望拥有一个提供一组服务方法的服务器,这些方法允许您查询对象 - 或直接显示对象的方法。

标签: c# service remoting tray


【解决方案1】:

要注册现有实例之一并将其发布到 Remoting,请执行以下操作。

第一次通话:

RemotingServices.SetObjecturilForMarshal(MarshalByRefObject, uri)

然后调用以下重载之一:

System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject)
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String)
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String, Type)

应该可以的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多