我有一个客户端应用程序,我收集数据并将其存储在类Packet结构中。我可以将此类的对象发送到我的服务器应用程序吗?..两个应用程序都运行在由LAN网络连接的不同机器上。
在.Net Remoting中,其中Object在Server中实例化,Objref与Client共享。现在我将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方法,我将所有类值转换为字节,然后发送到服务器,然后重新分配它们。
感谢。
答案 0 :(得分:0)
我会使用WCF方法,为此完成并不意味着远程处理。