当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 动态引用WebService,建立WebService虚拟机

ASP.NET
asp.net SqlParameter关于Like的传参数无效问题
数据库 数据类型float到C#类型decimal, float数据类型转化无效
google suggest 下拉菜单实现代码(asp.net版本)
asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)
asp.net GridView导出到Excel代码
asp.net 开发的一些常用技巧
php 三级联动菜单
ASp.net 文本框(TextBox)计算,判断输入的是否是数字
asp.net 存储过程调用
asp.net 操作XML 按指定格式写入XML数据 WriteXml
asp.net连接数据库 增加,修改,删除,查询代码
VB.net 查询获取数据库数据信息
asp.net 删除,更新数据库方法
.net获取硬件信息_CPU序列号
ASP.NET 页面中动态增加的控件、添加事件
彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题
asp.net结合aspnetpager使用SQL2005的存储过程分页
asp.net 用户控件读取以及赋值
asp.net 弹出警告窗口实现代码
asp.net 枚举文件里面的数字绑定到DropDownList里面去

ASP.NET 中的 动态引用WebService,建立WebService虚拟机


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 146 ::
收藏到网摘: n/a

动态引用WebService概述 建立WebService虚拟代理,使用xml登记WebService的引用地址。实现动态引用WebService. 使用技术1、 动态编译2、 反射技术实现代码using System;using System.Reflection ;using System.Web .Services .Description ;using Microsoft.CSharp;using System.CodeDom ;using System.CodeDom.Compiler ;using System.IO ;using System.Text ;using System.Xml ;using System.Net ;using WebServiceProxy;namespace WebServiceProxy{ public class WebServiceProxy { private Assembly _ass = null; private string _protocolName = "Soap"; private string _src/DownloadFiles\a\2004-10-27\WSProxy = string.Empty; public Assembly Assembly { get{ return _ass; } } public string ProtocolName { get{ return _protocolName; } set {_protocolName = value; } } public string Src/DownloadFiles\a\2004-10-27\WSProxy { get{ return _srcWSProxy; } } public WebServiceProxy () { } public WebServiceProxy (string wsdlSourceName) { AssemblyFromWsdl(GetWsdl(wsdlSourceName)); } public string WsdlFromUrl(string url) { WebRequest req = WebRequest.Create(url); WebResponse result = req.GetResponse(); Stream ReceiveStream = result.GetResponseStream(); Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); StreamReader sr = new StreamReader( ReceiveStream, encode ); string strWsdl = sr.ReadToEnd(); return strWsdl; } public string GetWsdl(string source) { if(source.StartsWith(" 0) throw new Exception(string.Format("Build failed: {0} errors", cr.Errors.Count)); return _ass = cr.CompiledAssembly; } public object CreateInstance(string objTypeName) { Type t = _ass.GetType("WebServiceProxy.WebServiceAccessor" + "." + objTypeName); return Activator.CreateInstance(t); } public object Invoke(object obj, string methodName, params object[] args) { MethodInfo mi = obj.GetType().GetMethod(methodName); return mi.Invoke(obj, args); } } }