• 动态设置webservices地址


    方法一:有时候需要动态的设置 WebService 的地址,这样发布到不同的服务器时就要重新生成,为此我们需要在web.config中动态配置WebService的地址,在网上查了很多资料,其中这种方法感觉很好用也很好实现,修改本地的代理类(添加一个新类,继承你的 WebService代理类)

    namespace Web_Service
    {
    [System.Diagnostics.DebuggerStepThrough(),System.ComponentModel.DesignerCategory("code"),
     
      System.Web.Services.WebServiceBinding(Name = "", Namespace = "")]
     
      public class DynWebService : SelfWebService
     
      {
     
          public DynWebService() : base()
     
         {
     
           //设置默认webService的地址
     
           this.Url = "http://localhost/WebService.asmx";
     
         }
     
         public DynWebService(string webUrl) : base()
     
         {
     
             this.Url = webUrl;
     
         }
      }
     
    }

    说明:SelfWebService 你引用的 WebService

    Web Service的URI部署到配置文件里

    <add key="WebServiceKey" value="http://xxxx/WebService.asmx"/>

    最后实现(调用)

    private void WebServiceTest()
    {
      string webServiceUrl = ConfigurationManager.AppSettings["WebServiceKey "].ToString();
     
      Web_Service.DynWebService dws = new Web_Service.DynWebService(webServiceUrl);
     
      string result = dws.HelloWorld();
     
    }

    注:HelloWord()为你所调用的Webservice的方法,这里是假设它返回的是String类型的值!

    OK 到这里就搞定了!

    方法二:

    你就選擇你的客戶端的web   serivce   的那個文件夾(就像個地球形狀的那個)我的名字是localhost的文件夾,然後右健選擇屬性   有個url行為然後將靜態修改成動態。web.config裡面會出現

    <add key="Webpos.localhost.MyService" value="http://localhost/SoapService/MyService.asmx"/>

    我的是這個樣子的可能因你的web   service   而異。這個時候  
    http://localhost/accessWebpos/Web   References/localhost/Reference.cs  
    文件中會出現

    public MyService()
    {
    string urlSetting =  System.Configuration.ConfigurationSettings.AppSettings["Webpos.localhost.MyService"];
    if ((urlSetting != null))
    {
    this.Url   =   string.Concat(urlSetting, "");
     
    }
     
    else
    {
    this.Url   =   "http://localhost/SoapService/MyService.asmx";
    }
    }

    另有一个动态调用webserice地下,方法是模拟生成客户端代理类,真正实现动态调用ws

    地址是:http://topic.csdn.net/u/20090220/10/08c8ca6f-3733-40ff-840e-d6ca6894ab35.html

  • 相关阅读:
    弹出的iframe 表单无法获取焦点
    记录IE的两则BUG
    manifest 在移动端的应用实验
    [hover 状态图片变小] 淘宝的一个小用户体验
    使用 JSONP 的几点注意
    Apple在线商店iphone5, ipad mini到货提醒 邮件
    关于弹窗中的事件多次执行
    zen coding 插件使用实践
    hadoop系列整理Spark
    hadoop系列整理HBase
  • 原文地址:https://www.cnblogs.com/wujy/p/2225396.html
Copyright © 2020-2023  润新知