亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

csharp: get Web.Services WebMethod

2019-11-17 02:18:06
字體:
來源:轉載
供稿:網友

csharp: get Web.Services WebMethod

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(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.xml.dll");            cplist.ReferencedAssemblies.Add("System.Web.Services.dll");            cplist.ReferencedAssemblies.Add("System.Data.dll");            //編譯代理類             CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu);            if (true == cr.Errors.HasErrors)            {                System.Text.StringBuilder sb = new StringBuilder();                foreach (CompilerError ce in cr.Errors)                {                    sb.Append(ce.ToString());                    sb.Append(System.Environment.NewLine);                }                throw new Exception(sb.ToString());            }            //生成代理實例,并調用方法             System.Reflection.Assembly assembly = cr.CompiledAssembly;            Type t = assembly.GetType(@namespace + "." + classname, true, true);            object obj = Activator.CreateInstance(t);            System.Reflection.MethodInfo mi = t.GetMethod(methodname);            return mi.Invoke(obj, args);        }        /// <summary>        ///         /// </summary>        /// <param name="url"></param>        /// <returns></returns>        private static string GetClassName(string url)        {            string[] parts = url.Split('/');            string[] pps = parts[parts.Length - 1].Split('.');            return pps[0];        }        #endregion    }}

  測試1

            string url = "http://www.webservicex.net/globalweather.asmx";            string[] args = new string[2];            args[0] = "shenzhen";            args[1] = "China";            object result = WebServiceHelper.InvokeWebService(url, "GetWeather", args);            this.label_Result.Text = result.ToString();

  原結果:

<string xmlns="http://www.webserviceX.NET"><?xml version="1.0" encoding="utf-16"?> <CurrentWeather> <Location>Shenzhen, China (ZGSZ) 22-33N 114-06E 18M</Location> <Time>Jun 25, 2015 - 10:00 AM EDT / 2015.06.25 1400 UTC</Time> <Wind> from the SSE (150 degrees) at 13 MPH (12 KT):0</Wind> <Visibility> greater than 7 mile(s):0</Visibility> <SkyConditions> mostly clear</SkyConditions> <Temperature> 84 F (29 C)</Temperature> <DewPoint> 78 F (26 C)</DewPoint> <RelativeHumidity> 83%</RelativeHumidity> <Pressure> 29.68 in. Hg (1005 hPa)</Pressure> <Status>Success</Status> </CurrentWeather></string>

  

測試2

 try            {                /*                 * http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx                 getDomesticAirlinesTime                獲得航班時刻表 DataSet                輸入參數:startCity = 出發城市(中文城市名稱或縮寫、空則默認:上海);lastCity = 抵達城市(中文城市名稱或縮寫、空則默認:北京);theDate = 出發日期(String 格式:yyyy-MM-dd,如:2007-07-02,空則默認當天);userID = 商業用戶ID(免費用戶不需要)                返回數據:DataSet,Table(0)結構為 Item(Company)航空公司、Item(AirlineCode)航班號、Item(StartDrome)出發機場、Item(ArriveDrome)到達機場、Item(StartTime)出發時間、Item(ArriveTime)到達時間、Item(Mode)機型、Item(AirlineStop)經停、Item(Week)飛行周期(星期)                 */                string url = "http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx";                string[] args = new string[4];                args[0] = "上海";                args[1] = "北京";                args[2] = "2015-6-25";//當天時間                args[3] = "";                object result = WebServiceHelper.InvokeWebService(url, "getDomesticAirlinesTime", args);                DataSet dsetAirline = result as DataSet;                this.GridView1.DataSource = dsetAirline.Tables[0];                this.GridView1.DataBind();                Response.Write(dsetAirline.Tables[0].Rows.Count.ToString());            }            catch (Exception ex)            {                Response.Write(ex.Message.ToString());            }

  查詢原結果:

<DataSet xmlns="http://WebXml.com.cn/"><xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="Airlines"><xs:element name="Airlines" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"><xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element name="AirlinesTime"><xs:complexType><xs:sequence><xs:element name="Company" type="xs:string" minOccurs="0"/><xs:element name="AirlineCode" type="xs:string" minOccurs="0"/><xs:element name="StartDrome" type="xs:string" minOccurs="0"/><xs:element name="ArriveDrome" type="xs:string" minOccurs="0"/><xs:element name="StartTime" type="xs:string" minOccurs="0"/><xs:element name="ArriveTime" type="xs:string" minOccurs="0"/><xs:element name="Mode" type="xs:string" minOccurs="0"/><xs:element name="AirlineStop" type="xs:string" minOccurs="0"/><xs:element name="Week" type="xs:string" minOccurs="0"/></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema><diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><Airlines xmlns=""><AirlinesTime diffgr:id="AirlinesTime1" msdata:roWorder="0"><Company>東方航空</Company><AirlineCode>M
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av电影手机在线| 国产精品午夜国产小视频| 成人激情视频小说免费下载| 欧美精品免费在线| 亚洲欧洲av一区二区| 国产有码一区二区| 不卡在线观看电视剧完整版| 美日韩精品免费视频| 国产精品久久久久久久久借妻| 国产成人综合精品在线| xx视频.9999.com| 精品国产欧美一区二区三区成人| 国产精品一区av| 中文字幕精品在线| 国产精品色视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美不卡视频一区发布| 亚洲xxxx做受欧美| 亚洲女同精品视频| 55夜色66夜色国产精品视频| 欧美www视频在线观看| 亚洲小视频在线观看| 亚洲一区亚洲二区| 国产在线视频欧美| 国产日韩欧美另类| 欧美午夜精品久久久久久浪潮| 久久中文字幕在线视频| 国产一区二区三区高清在线观看| 久久国产精品亚洲| 国产91成人video| 亚洲国产99精品国自产| 亚洲一区二区三区毛片| 亚洲自拍偷拍第一页| 97视频人免费观看| 欧美极度另类性三渗透| 亚洲精品日韩av| 久久久影视精品| 九九久久精品一区| 不卡在线观看电视剧完整版| 国产日韩欧美另类| 富二代精品短视频| 欧美猛男性生活免费| 国产精品中文久久久久久久| 久久99久久亚洲国产| 成人久久一区二区| 欧美夫妻性生活xx| 日韩视频免费在线| 久久精品国产亚洲精品2020| 国产噜噜噜噜久久久久久久久| 亚洲欧美另类国产| 欧美极品少妇xxxxⅹ免费视频| 日韩欧美中文在线| 亚洲高清免费观看高清完整版| 亚洲人成欧美中文字幕| 国产精品天天狠天天看| 久久五月天综合| 国产精品久久久久久久久粉嫩av| 欧美亚洲激情视频| 国产一区二区三区三区在线观看| 亚洲japanese制服美女| 亚洲人成在线免费观看| 欧美性猛交xxxx乱大交蜜桃| 91久久精品国产91久久| 欧美精品在线网站| 欧美有码在线视频| 亚洲mm色国产网站| 欧美影院在线播放| 久久久久久伊人| 91在线观看免费观看| 成人妇女淫片aaaa视频| 国产精品丝袜高跟| 久久久噜噜噜久久中文字免| 亚洲最大成人免费视频| 69久久夜色精品国产7777| 久久精品国产久精国产思思| 国产一区二区三区毛片| 国产一区二区在线免费视频| 国产亚洲美女精品久久久| 精品国内亚洲在观看18黄| 成人免费网视频| 黑人巨大精品欧美一区免费视频| 久久精品国产91精品亚洲| 久久色免费在线视频| 国产一区二区在线播放| 97成人精品视频在线观看| 国外成人性视频| 亚洲欧美999| 日韩精品极品视频免费观看| 久久精品视频网站| 日韩在线观看网址| 91av福利视频| 日韩视频在线一区| 国产成人福利网站| 国产亚洲福利一区| 欧美在线性视频| 在线视频欧美性高潮| 91精品久久久久久综合乱菊| 国产精品视频最多的网站| 精品国产91久久久| 欧美大片第1页| 日韩在线欧美在线| 91久久久精品| 亚洲国产欧美自拍| 久久精品成人欧美大片古装| 国产精品27p| 欧美成aaa人片在线观看蜜臀| 成人久久一区二区| 成人网在线免费看| 91av免费观看91av精品在线| 久久久久一本一区二区青青蜜月| 2021国产精品视频| 成人免费视频在线观看超级碰| 久久精品在线视频| 国产日韩欧美日韩大片| 精品亚洲一区二区| 欧美日本中文字幕| 欧美一级视频免费在线观看| 欧美丝袜美女中出在线| 91色琪琪电影亚洲精品久久| 日本精品一区二区三区在线| 51精品国产黑色丝袜高跟鞋| 欧美日韩中文在线观看| 91av成人在线| 91久热免费在线视频| 国语自产精品视频在线看一大j8| 欧美久久久精品| 国产91久久婷婷一区二区| 国产欧美最新羞羞视频在线观看| 国产精品中文字幕在线| 日韩电影免费观看在线观看| 国产色视频一区| 国产色婷婷国产综合在线理论片a| 国产精品自拍网| 久久久亚洲成人| 91国偷自产一区二区三区的观看方式| 成人h猎奇视频网站| 精品成人国产在线观看男人呻吟| 国产精品爱啪在线线免费观看| 日韩欧美精品免费在线| 国产精品一区二区三区成人| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品jizz在线观看麻豆| 国产精品一区二区av影院萌芽| 亚洲人成在线观看网站高清| 久久精品视频免费播放| 欧美精品videosex极品1| 亚洲国产成人av在线| 久久久噜噜噜久噜久久| 亚洲精品福利在线| 国产精品日韩在线播放| 亚洲第一精品自拍| 亚洲国产精久久久久久久| 国产精品成久久久久三级| 92看片淫黄大片欧美看国产片| 伊人成人开心激情综合网| 亚洲天堂av网| 国产主播精品在线| 欧美日韩国产一区二区| 68精品久久久久久欧美| 日本精品久久久久久久| 日韩有码在线视频| 夜夜嗨av色一区二区不卡| 午夜精品福利在线观看| 97国产真实伦对白精彩视频8|