当前位置: 首页 > news >正文

上海哪里可以做网站软件外包行业分析

上海哪里可以做网站,软件外包行业分析,贵港网站开发,教你用wordpress我们在开发C# WinForm时#xff0c;有时会调用Web服务#xff0c;服务是本地的当前好办#xff0c;只要在Project中的Web References中引入就可以在代码中直接创建一个Web服务对象来引用#xff0c;其实其原理是C#帮你自动创建客户端代理类的方式调用WebService#xff0c…我们在开发C# WinForm时有时会调用Web服务服务是本地的当前好办只要在Project中的Web References中引入就可以在代码中直接创建一个Web服务对象来引用其实其原理是C#帮你自动创建客户端代理类的方式调用WebService但如果调用的服务是动态的比如说在几个IIS中都有相同的一个服务在运行时输入具体的IP才确定调用哪个服务那要怎么样实现呢。 C#动态调用Web服务方法一 手动的添加一个Web引用然后修改下本地的代理类。最后实现Web Service的URI部署到配置文件里。 具体做法如下 以下代码是显示如何配置动态的Web Service以服务单元C类名为Web_SVSGC为例 (1)首先在Web引用中的本地代理类中添加一个构造函数这个构造函数是以Web Service的URL为参数的重载方法。 复制  保存 Namespace Web_SVSGC       remarks/      System.Diagnostics.DebuggerStepThroughAttribute(),  _     System.ComponentModel.DesignerCategoryAttribute(code),  _     System.Web.Services.WebServiceBindingAttribute(Name:SVSGCSoap, [Namespace]:http://tempuri.org/QYJSERVICE/SVSGC),  _     System.Xml.Serialization.XmlIncludeAttribute(GetType(Attribute))  _      Public Class SVSGC          Inherits System.Web.Services.Protocols.SoapHttpClientProtocol       remarks/         Public Sub New()              MyBase.New              Me.Url  http://localhost/QYJSERVICE/WEBSERVICE/SERVICE/SVSGC.asmx         End Sub           添加一个带参数的构造函数。          Public Sub New(ByVal strUrl As String)               MyBase.New()               Me.Url  strUrl           End Sub   (2)将Web Service的url配置在调用Web Service的应用程序的配置文件中。其中的value可以随时修改。 复制  保存  configuration      appSettings                add keySVSGA_URL valuehttp://192.168.108.188/ QDN/SERVICE/SVSGA.asmx QDN/SERVICE/SVSGA.asmx /      /appSettings  /configuration configuration      appSettings                add keySVSGA_URL valuehttp://192.168.108.188/ QDN/SERVICE/SVSGA.asmx QDN/SERVICE/SVSGA.asmx /      /appSettings  /configuration (3)调用时根据配置文件的Url动态的生成Web Service。 复制  保存        要调用的Web Service的URL          Dim strWebSvsUrl As String          声明一个要调用的Web Service          Dim objSVSGC As WebSvs_GC. SVSGC          调用Web Service的远程方法的返回值          Dim strReturnValue As String          Try              从配置文件中取得Web Service的URL              strWebSvsUrl  _               System.Configuration.ConfigurationSettings.AppSettings(SVSGC_URL)               生成一个Web Service实例              objSVSGC  New WebSvs_GC.SVSGC (strWebSvsUrl)              调用这个Web Service里的远程方法              strReturnValue  objSVSGC.HelloWorld()          Catch ex As Exception          End Try C#动态调用Web服务方法二完全动态处理,传入服务服务网址,方法名和参数即可. using System;   using System.Net;   using System.IO;   using System.CodeDom;   using Microsoft.CSharp;   using System.CodeDom.Compiler;   using System.Web.Services.Description;   using System.Web.Services.Protocols;    namespace HB.Common   {       /* 调用方式        *   string url  http://www.webservicex.net/globalweather.asmx ;        *   string[] args  new string[2] ;        *   args[0]  Hangzhou;        *   args[1]  China ;        *   object result  WebServiceHelper.InvokeWebService(url ,GetWeather ,args) ;        *   Response.Write(result.ToString());        */       public class WebServiceHelper       {           #region InvokeWebService           ///  summary           /// 动态调用web服务           ///  /summary           ///  param nameurlWSDL服务地址 /param           ///  param namemethodname方法名 /param           ///  param nameargs参数 /param           ///  returns /returns           public static object InvokeWebService(string url, string methodname, object[] args)           {               return WebServiceHelper.InvokeWebService(url, null, methodname, args);           }            ///  summary           /// 动态调用web服务           ///  /summary           ///  param nameurlWSDL服务地址 /param           ///  param nameclassname类名 /param           ///  param namemethodname方法名 /param           ///  param nameargs参数 /param           ///  returns /returns           public static object InvokeWebService(string url, string classname, string methodname, object[] args)           {               string namespace  EnterpriseServerBase.WebService.DynamicWebCalling;               if ((classname  null) || (classname  ))               {                   classname  WebServiceHelper.GetWsClassName(url);               }                try               {                   //获取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 icc  new CSharpCodeProvider();                    //设定编译参数                   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 System.Text.StringBuilder();                       foreach (System.CodeDom.Compiler.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);                    /*                   PropertyInfo propertyInfo  type.GetProperty(propertyname);                   return propertyInfo.GetValue(obj, null);                   */               }               catch (Exception ex)               {                   throw new Exception(ex.InnerException.Message, new Exception(ex.InnerException.StackTrace));               }           }            private static string GetWsClassName(string wsUrl)           {               string[] parts  wsUrl.Split(/);               string[] pps  parts[parts.Length - 1].Split(.);                return pps[0];           }           #endregion       }   } 返回时如果不是字符串,即强制转换,如返回是DataSet,则 string url  http://www.webservicex.net/globalweather.asmx ;   string[] args  new string[2] ;   args[0]  Hangzhou;   args[1]  China ;   object result  WebServiceHelper.InvokeWebService(url ,GetWeather ,args) ;   DataSet DSRe(DataSet)result;  C#动态调用Web服务方法三URL Behavior 属性 如果知道服务的方法和参数,只是调用的URL网址会随时变化,那么可以手工创建一个服务,添加上对应的的方法和传入参数,然后引入到项目中,就可以直接开发,在创建服务的实例化时,才修改对应的URL即可. 例如服务中有个方法叫GetTax,那么就可以这样改: GetTax.GetTax GetTax1  new GetTax.GetTax();   GetTax1.Url  http://  WebIp1  /pub_wa_gspsp1/gettax.asmx;        //动态引入服务器                      DataSet DS1  GetTax1.GetTaxMx(Bm1, OldBz, Fpl, SLx, StaDa, EndDa);   //调用服务器返回开票数据 转载于:https://www.cnblogs.com/gaolijun1986/archive/2011/07/29/2120644.html
http://www.yutouwan.com/news/23691/

相关文章:

  • 南充市住房建设局网站网站备案 信息查询
  • 绍兴seo整站优化长春企业平台
  • 买网站多少钱dw网站怎么做背景图
  • 自建站怎么推广游乐园网站建设
  • 如何防止网站被注册中国万网提供的服务和收费情况
  • html个人网站怎么做网站设计公司(信科网络)
  • 株洲定制网站建设网络营销推广的形式
  • 下花园区住房和城乡建设局网站做网站推广
  • 不需要验证码的注册网站网页模板建站系统
  • 发帖子最好的几个网站如何制作网站网页
  • 网站微信认证天津做网站需要多少钱
  • 江苏水利工程建设局网站go语言怎么搭建网页
  • 品牌网站建设e小蝌蚪移动网站开发框架
  • 百度站长seoc2c是什么平台
  • 衡阳有线宽带网站网站制作大概费用
  • 羽贝网站建设网站开发视频播放好做吗
  • 怎么建设网站容易被百度抓取中国工程建设标准网站
  • 网站上seo怎么做现在网站建设 如何保证安全
  • 宁夏信用建设官方网站长沙关键词优化新行情报价
  • 商河网站建设杭州建设局网站
  • 四川建设主管部门网站酒泉网站怎么做seo
  • 网站开发的开发意义如何给网站做外链
  • 重庆网站维护自己可以做类似拓者的网站吗
  • 根据图片做网站用什么wordpress浮窗播放器
  • seo 网站地图优化网站在公司做有什么要求吗
  • php教育学校网站源码wordpress 报表插件
  • 青岛网站建设网站制作个人邮箱注册申请
  • 杭州e时代网站建设如何注册公司名字
  • 电子商务网站建设开发品牌营销策划方案怎么做才好
  • 专业做电脑系统下载网站好如何给网站添加ico