asp.net 动态调用web service的方法

asp.net 动态调用web service的方法

一般我们在asp.net项目里面使用web service的方法都是现在项目里面添加一个web service的引用,让visual studio帮我们生成代理类,在web.config里面动态配置要访问的web service url。但是在一个新项目需求里面,我在一个方法里面产生了一个参数,然后根据这个参数调用所有符合这个参数方法的web service,web service的url并不确定,第三方网站只要做出了符合这个参数调用的方法并在网站上注册,我的方法就会去调用它,因此前面说的先添加web service引用的方法就不是很好用了,我们需要在编程时动态调用web service。

google/baidu了一下,基本上有三种:

1. ajax的ScriptManage中的services配置节

http://blog.csdn.net/greki/archive/2006/11/10/1376931.aspx

2. 使用CodeDom在内存中编译(或者编译后保存于本地)

http://www.dezai.cn/Article_Show.asp?ArticleID=7868

http://hi.baidu.com/stockzh/blog/item/d2881e4bd1e232f683025ca6.html

就是不知道多人访问情况下会不会对效率有影响。

大致过程:

  1. 从目标 URL 下载 WSDL 数据。
  2. 使用 ServiceDescription 创建和格式化 WSDL 文档文件。
  3. 使用 ServiceDescriptionImporter 创建客户端代理类。
  4. 使用 CodeDom 动态创建客户端代理类程序集。
  5. 利用反射调用相关 WebService 方法。

3. 命令行编译

大致过程:

  1. 使用 wsdl.exe 生成客户端代理类型源代码。
  2. 使用 csc.exe 生成客户端代理程序集。
  3. 使用反射调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值