1

我有一个客户端应用程序,我在其中收集数据并将其存储在类数据包结构中。我可以将此类的对象发送到我的服务器应用程序吗?..这两个应用程序都运行在通过 LAN 网络连接的不同机器上。

在 .Net Remoting 中,对象在服务器中实例化,而 Objref 与客户端共享。现在我将这个 Packet 类的对象作为远程对象,用作客户端激活的对象。该对象是在客户端激活它时创建的。

public class Packet : MarshalByRefObject {
        public int svrnumber;
        public string svrname;
        [NonSerialized]
        public static IObserver Observer;

        public void MessageString(object value) {
                Observer.Notify(value);
        }

        public static void Attach(IObserver observer) {
            Observer = observer;
        }
    }

我在客户端引用这个类的 Pack(Object) 并赋值。

            Pack.svrname = "Bob";
            Pack.svrnumber = 123456;

            sample = (Object)Pack;

将此示例对象传递给 Notify。我通过 Notify 函数在服务器上接收到这个示例对象并将其拆箱以获取我的值。

当我调用函数 MessageString 时,由于安全限制 Objref 无法访问,我得到一个异常!

还告诉我是否有任何其他方法可以解决这个问题。或者我应该使用 SocketProgramming 方法,将我的所有类值转换为字节,然后发送到服务器,然后重新分配它们。

谢谢。

4

1 回答 1

0

我会使用 WCF 方法,是为此而做的,并不意味着远程处理。

于 2011-06-17T09:07:39.483 回答