问一个关于Remoting的问题。。。。。
在客户端程序中,我是这样实现的//获取服务器端对象
AppService1 service1 =(AppService1)Activator.GetObject
(typeof(AppService1), "tcp://192.168.1.107:10110/Service1");
//操作得到的对象
DelegateSendMessage myDelegate = new DelegateSendMessage(this.SendMessage);
if (service1 == null)
{
this.Invoke(myDelegate, "没有接收到对象!");
}
string strTemp = "对象一" + service1.SendMessage();
this.Invoke(myDelegate, strTemp);
我的接收部分是写在一个单独的线程中的,客户端启动时开始监听接收
当服务端对象没有发布或网络故障时,Activator.GetObject方法将得到无效对象
这时向下执行会抛出异常
我怎样能判断对到的对象是否有效呢?有什么好的方法么,用过的朋友给个思路咯!!! --------------------编程问答-------------------- 若不能接收有效的对象则不执行下面的操作,
本以为网络不通时接收到的对象会是NULL
结果不是。。。。。。。 --------------------编程问答-------------------- 在你的AppService1的构造完成时Message一些信息出来看一下大概就知道是否正常了。 --------------------编程问答-------------------- Activator.GetObject得到远程对象代理,但这时远程对象并未真正创建,要调用远程对象的某个方法才会在服务端创建它。 --------------------编程问答-------------------- 顶3楼,
若想知道服务端是否可用类工厂来实例化你将要用到的远程对象,在try...catch块中环绕方法.
(若那样还不如客户端激活)
补充:.NET技术 , C#