.net 中调用 webservice 的N中方法(终于可以孔乙己一把了 ^_^)
2009-08-21 15:06
316 查看
关于在vs.net中调用webservice,常见的不常见的无外乎下面几种:
1. 调用者与被调用web service将来会部署在一个服务器上,一个简单的方法是直接把web service当做普通的类来引用;
2. 通过vs添加web reference,这时 vs 会自动给你下载wsdl并生成了一个客户端代理类,
优点:操作简单,并且vs自动生成了各种同步和异步方法/事件,功能比较丰富;
缺点:wsdl(以及代理类)是在编译时下载并生成的,代理类和Web服务的URL、方法名、参数等绑定在了一起,如果哪天web服务的地址变了,需要更新引用并重新编译代码,不方便;
3. 动态调用web service:
1)通过url,自己实现一个代理类,代码示例可见 从 URL 调用WebService
这种方法其实也跟 vs 生成代理类的做法差不多;
2)通过url下载wsdl,并通过反射技术在内存中动态生成代理类,代码示例可见 转载:动态调用WebService(C#) & 一个能动态调用webservice的类(C#)
优点:比较动态,有个很好的特点是,由于运用了反射技术,可以在调用web method前知晓method的声明,这样就可以根据其声明灵活的调用方法了,适用于被调用的web method有几个版本且这几个版本有已知的不同声明时采用
缺点:反射调用的性能比较低,最好采用SingleTon模式;
总结:通常情况下采用 vs 自动生成的代理类就好,至于 url 地址可能变动那也好办,只需将web reference的 URL Behavior属性设为"Dynamic",然后在实例化代理类之前设置其Url属性即可。
1. 调用者与被调用web service将来会部署在一个服务器上,一个简单的方法是直接把web service当做普通的类来引用;
2. 通过vs添加web reference,这时 vs 会自动给你下载wsdl并生成了一个客户端代理类,
优点:操作简单,并且vs自动生成了各种同步和异步方法/事件,功能比较丰富;
缺点:wsdl(以及代理类)是在编译时下载并生成的,代理类和Web服务的URL、方法名、参数等绑定在了一起,如果哪天web服务的地址变了,需要更新引用并重新编译代码,不方便;
3. 动态调用web service:
1)通过url,自己实现一个代理类,代码示例可见 从 URL 调用WebService
这种方法其实也跟 vs 生成代理类的做法差不多;
2)通过url下载wsdl,并通过反射技术在内存中动态生成代理类,代码示例可见 转载:动态调用WebService(C#) & 一个能动态调用webservice的类(C#)
优点:比较动态,有个很好的特点是,由于运用了反射技术,可以在调用web method前知晓method的声明,这样就可以根据其声明灵活的调用方法了,适用于被调用的web method有几个版本且这几个版本有已知的不同声明时采用
缺点:反射调用的性能比较低,最好采用SingleTon模式;
总结:通常情况下采用 vs 自动生成的代理类就好,至于 url 地址可能变动那也好办,只需将web reference的 URL Behavior属性设为"Dynamic",然后在实例化代理类之前设置其Url属性即可。
相关文章推荐
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- java调用.NET的webservice实例的二种方法soap方式axis模式
- Jquery 调用.net WebService 返回Json、XML方法
- Java调用.NET webservice方法的几种方式
- Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法
- Java调用.Net WebService参数为空解决办法 (远程)调试webservice方法 转
- WebService java 调用 .net方法
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- .NET调用JAVA的WebService方法
- .NET调用JAVA的WebService方法
- 一起谈.NET技术,SilverLight调用WebService的方法
- java版的webservice,完全用java的正则表达式对websercice的xml进行解析,可以很快用到web中,只需要调用其中的封装好的方法
- 终于搞定无参“动态调用WebService方法”,其实很简单,大家还是要有信心,还是要有琢磨的精神。
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- 终于搞定无参“动态调用WebService方法”,其实很简单,大家还是要有信心,还是要有琢磨的精神。
- android ksoap2调用.net Webservice 方法总结
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- JAVA调用.net 的WebService方法
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)