XMLWebService虽然它让我们开发分布式软件,但是它有一个天生的毛病:就是XMLWebService与和层之间,以级他们相互之间传递信息是依靠HTTP协议进行,所以会比较缓慢,针对这种情况,我们该如何处理。
答:增大XMLWebService中WebMethod方法的粒度,也就是便每个WebMethod方法尽量的多做一些事情,从而减少XMLWebService中WebMethod方法的数量,也就减少了依靠HTTP协议传递信息的次数,加快了速度。
谈一谈你对Remoting的技术认识
答:NET的Remoting采用代理技术,这个代理技术是由编译器自动完成的,NET的Remoting为我们的Remoting中的每一个类都产生一个代理。当我们调用Remoting中的类的方法时,首先调用的是系统产生的那个代理,由这个代理把相关的参数信息打包成一个二进制包,通过TCP/IP协议传送给我们真实的类。真实的类把运行的结果打包成一个二进制包,再通过TCP/IP协议传送给代理类。代理类再把结果打包成一个二进制包,再通过TCP/IP协议传送给调用类。
因此NET的Remoting是基于TCP/IP协议传送二进制文件,速度要比XMLWebService快。
它更适合于区域较小的局域网。
Remoting与XMLWebService的区别是什么,他们各自的优缺点是什么?
答:
(1)、NET的Remoting是基于TCP/IP协议传送二进制文件,速度要比XMLWebService快。
(2)、NET的Remoting也和XMLWebService一样需要在调用端生成代理。但是XMLWebService是手动生成代理。
在NET的Remoting中
a.对于凡是继承于System.ContextBoundObject类的类,就是由编译器自动生成代理类;
b. 对于凡是继承于System.MarshalByRefObject类的类,就是要手动生成代理的;
c、对于中是继承于System.Object类的类,就是不能生成代理的类;
d. 对于凡是继承于System.ContextBoundObject类的子类System.EnterpriseServices.ServicedComponent类的类,实质上就是COM+服务.
NET的Remoting可以对对调用进行捕获,并进行处理,因此它类似于COM+服务,所以说NET的Remoting是DCOM+的升级产品.
XMLWebService是基于HTTP协议传送soap包的,每点之间都是把信息打包成SOAP包,基于HTTP协议传输.就像是访问网页一样,来调用XMLWebService服务.所以XMLWebService比较慢.
什么情况下适合用Remoting,什么情况下适合用XMLWebService
答: Remoting适合于这样的情况:区域较少,速度要求快,安全性要求高的环境.还适合用需要对调用进行捕获,并进行处理的情况.
XMLWebService适合于这样的情况:大距离的远程调用,速度要求不高,安全性要求也不是很高的情况.