using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services.Description;using System.Web.Serv ...
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services.Description;using System.Web.Services.Protocols;using System.Web.Services.Discovery;using System.Web.Services;using System.Net;using System.IO;using System.CodeDom;using System.CodeDom.Compiler;using Microsoft.CSharp;using System.Reflection;using System.Text;namespace WebServerProjectDemo{ /// <summary> /// /// </summary> public class WebServiceHelper { #region InvokeWebService /// <summary> /// /// </summary> /// <param name="url"></param> /// <param name="methodname"></param> /// <param name="args"></param> /// <returns></returns> public static object InvokeWebService(get='_blank'>string url, string methodname, object[] args) { return WebServiceHelper.InvokeWebService(url, null, methodname, args); } /// <summary> /// 动态调用WebService /// </summary> /// <param name="url">WebService地址</param> /// <param name="classname">类名</param> /// <param name="methodname">方法名(模块名)</param> /// <param name="args">参数列表</param> /// <returns>object</returns> public static object InvokeWebService(string url, string classname, string methodname, object[] args) { string @namespace = "ServiceBase.WebService.DynamicWebLoad"; if (classname == null || classname == "") { classname = WebServiceHelper.GetClassName(url); } //获取服务描述语言(WSDL) WebClient wc = new WebClient(); Stream stream = wc.OpenRead(url + "?WSDL"); ServiceDescription sd = ServiceDescription.Read(stream); ServiceDescriptionImporter sdi = new ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, "", ""); CodeNamespace cn = new CodeNamespace(@namespace); //生成客户端代理类代码 CodeCompileUnit ccu = new CodeCompileUnit(); ccu.Namespaces.Add(cn); sdi.Import(cn, ccu); CSharpCodeProvider csc = new CSharpCodeProvider(); ICodeCompiler icc = csc.CreateCompiler(); //设定编译器的参数 CompilerParameters cplist = new CompilerParameters(); cplist.GenerateExecutable = false; cplist.GenerateInMemory = true; cplist.ReferencedAssemblies.Add("System.dll"); cplist.ReferencedAssemblies.Add("System.
原标题:csharp: get Web.Services WebMethod
关键词:web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。