代码12:使用data access logic进行remoting调用 – 2,remoting访问
class customerdal_orm : mydal
{
// 请注意:这个delegate方法被限制为private访问权限
private arraylist getallcustomers_remoting_delegate()
{
arraylist al = null;
remotecustomer remote = (remotecustomer)activator.getobject(
typeof(remotingclass.remotecustomer),
helper.getapplicationsetting("remotingurl"));
if (remote == null)
throw new exception("could not locate server!");
else
{
al = remote.getallcustomers();
}
return al;
}
}
上面的两段代码应该不难理解,如果结合前面的daf,我们就
可以画出这样一张调用示意图:
以上代码11,12(上图中的1~6步骤)仅仅是客户端行为,而
在服务器端,我们还不得不做这么两件事情:
(1) 建立一个host程序(如果使用http+soap来模拟webservies,由于该种remoting行为可直接host在asp.net下,故可省去本步骤),主要用于在指定端口注册服务(曾听朋友说起,网上也有人写过remoting host manager,感兴趣的同志可以去codeproject查查j);
(2) 建立一个继承自marshalbyrefobject的服务类,该类将被步骤1中的host程序用于注册操作;
下一段:http://www.csdn.net/develop/read_article.asp?id=27558