在web服务中应用其它的web服务应注意

在有些情况下需要在web服务中访问其它的web服务,比如a.asmx中的一个方法可能要调用b.asmx中的一个方法,这两个web服务又在一个项目中,我们通常是把b.asmx的命名空间加到a.asmx中去,这样做当然没有问题,但有一种情况下会出现问题,就是在出现总部和分店的情况时,总部和分店分别是两套独立的web服务程序,但有时候分店的客户端有时候并不是要访问分店本身的web服务,而是要访问总部的web服务,例如在整个集团内发送消息,则各个分店的消息web服务都是配置成访问总部的web服务,这个时候如果使用上面的方法,那么在a.asmx中如果有个函数要发送一条消息的话,则它调用的是本地b.asmx中的方法,但其实我要调用的是总部的b.asmx;所以遇到这种情况,你必须把b.asmx文件做为一个动态的web引用来添加,即在项目的App_WebReferences文件夹下添加对b.asmx的动态引用,再在web.config中将b.asmx的地址配置成总部的地址,
还有一个重要的地方就是,a.asmx文件中不能再引用b.asmx的命名空间,要引用刚才添加的代理的命名空间

posted on 2006-05-22 22:08  DoNet鸟  阅读(283)  评论(0编辑  收藏  举报

导航