快速提问TCP / IP .Net Remoting

时间:2011-06-17 08:54:23

标签: .net remoting tcp securityexception

我有一个客户端应用程序,我收集数据并将其存储在类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方法,我将所有类值转换为字节,然后发送到服务器,然后重新分配它们。

感谢。

1 个答案:

答案 0 :(得分:0)

我会使用WCF方法,为此完成并不意味着远程处理。