c#.net动态调用webservice的三种方式.docx

上传人:scccc 文档编号:13603044 上传时间:2022-01-20 格式:DOCX 页数:4 大小:71.32KB
返回 下载 相关 举报
c#.net动态调用webservice的三种方式.docx_第1页
第1页 / 共4页
c#.net动态调用webservice的三种方式.docx_第2页
第2页 / 共4页
c#.net动态调用webservice的三种方式.docx_第3页
第3页 / 共4页
c#.net动态调用webservice的三种方式.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《c#.net动态调用webservice的三种方式.docx》由会员分享,可在线阅读,更多相关《c#.net动态调用webservice的三种方式.docx(4页珍藏版)》请在三一文库上搜索。

1、动态调用 webservice 的三种方式多数时候我们通过添加 Web引用创建客户端代理类的方式调用WebService,但在某些情况下我们可能需要在程序运行期间动态调用一个未知的服务。在.NET Framework 的命名空间中有我们需要的东西。具体步骤:1. 从目标 URL 下载 WSDL 数据。2. 使用 ServiceDescription 创建和格式化 WSDL 文档文件。3. 使用ServiceDescriptionImporter创建客户端代理类。4. 使用CodeDom 动态创建客户端代理类程序集。5. 利用反射调用相关WebService方法。上述步骤需要引用如下四个名称空间

2、:using 动态调用 WebService客户端动态调用代码using ;using ;using ;using ;usingusingusing usingusing使用 WebClient 下载 WSDL 信息。WebClient web = new WebClient();Stream stream = ();创建和格式化 WSDL 文档。ServiceDescription description = (stream);创建客户端代理代理类。ServiceDescriptionImporter importer = new ServiceDescriptionImporter();=

3、 Soap; 使用 CodeDom 编译客户端代理类。CodeNamespace nmspace = new CodeNamespace(); 使用 Reflection 调用 WebService。if (!Assembly asm = ;Type t = (WebService); 生成客户端代理程序集文件上面的代码通过在内存中创建动态程序集的方 式完成了动态调用过程。如果我们希望将客户端代理类生成程序集文件保存到硬盘, 则可以进行如下修改。 生成程序集文件后, 我们可以通过 () 载入并进行反射调用。对于需要多次调用的系统,要比每次生成动态程序集效率高出很多。using ;using ;

4、using ;usingusingusing使用 WebClient 下载 WSDL 信息。WebClient web = new WebClient();Stream stream = ();创建和格式化 WSDL 文档。ServiceDescription description = (stream);创建客户端代理代理类。ServiceDescriptionImporter importer = new ServiceDescriptionImporter();= Soap; 使用 CodeDom 编译客户端代理类。CodeNamespace nmspace = new CodeName

5、space(); 获取客户端代理类源代码还有一种情形,就是我们需要获得客户端代理类的 C# 源代码。using ;using ;using ;usingusingusingusingusing使用 WebClient下载 WSDL信息。WebClient web = new WebClient();Stream stream =();创建和格式化 WSDL文档。ServiceDescription description = (stream);创建客户端代理代理类。ServiceDescriptionImporter importer = new ServiceDescriptionImpor

6、ter();=Soap;使用CodeDom编译客户端代理类。CodeNamespace nmspace = new CodeNamespace();保存源代码到文件。当然,你也可以直接保存到内存字符串中。TextWriter writer =();指定你所需的源代码文件名。(unit, writer, null);();();如果你调用时触发 WebException:请求因 HTTP状态 415失败:Unsupported Media Type。这样的异常,那么恭喜你和我一样郁闷中,赶紧把服务器端的WSE关掉吧。在必须使 用 WSE的情况下,需要对客户端进行调整,至于代码需要你自己去写了。呵呵

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1