C# 調用WebService 問題

來源:互聯網
上載者:User

添加WEB引用,引入的WebService地址會直接寫入app.config設定檔,這樣一來,使用者可以用記事本開啟設定檔,輕鬆的查看或修改WebService地址.如何將引入的WEB引用地址,寫入自訂.cs檔案封裝起來,達到隱藏WebService地址的效果,還請賜教.

具體app.config中的引用配置入下
  <applicationSettings>
    <RedSpider.Properties.Settings>
      <setting name="Services_Service" serializeAs="String">
        <value>http://user.xxx.com/Ser.asmx </value>
      </setting>
    </RedSpider.Properties.Settings>
  </applicationSettings>

 

 

 

C# code
using System.Configuration;using System.Xml;//讀取:(如果沒有在“方案總管”的“引用”裡添加"System.configuration"請右擊"引用"然後選擇“System.configuration”、“確定”)   ImagePath.Text = ConfigurationManager.AppSettings["ImagePath"].ToString();//寫(調用的時候直接調用下面的函數就行了。)   public static void SetValue(string AppKey,string AppValue)   {    //System.Configuration.ConfigurationSettings.AppSettings.Set(AppKey,AppValue);    XmlDocument xDoc = new XmlDocument();    xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");        XmlNode xNode;    XmlElement xElem1;    XmlElement xElem2;    xNode = xDoc.SelectSingleNode("//appSettings");       xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");    if ( xElem1 != null ) xElem1.SetAttribute("value",AppValue);    else    {     xElem2 = xDoc.CreateElement("add");     xElem2.SetAttribute("key",AppKey);     xElem2.SetAttribute("value",AppValue);     xNode.AppendChild(xElem2);    }    xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");   }
或者你也可以將它加密後寫入註冊表。直接把地址固定死了寫在代理類裡就可以了, 

你開啟的項目目錄,應該有一個Web referer之類的目錄,你點擊進去之後再點開你添加的WEB服務引用目錄,裡面就有一個referer.cs 是不是這麼拼字我記不得太清楚了,反正就一個CS
檔案,你把他開啟,你可以直接修改他的建構函式,裡面有一個關係URL的操作,你直接把寫死了URL賦值給this.URL就可以不用App.COnfig的檔案裡的配置了,其實,你可以把這個CS檔案直接複製到項目根目錄,改個名稱,添加到項目工程裡,關於Web服務引用的其它東西都是可以不要的,關鍵就是在那個cs就夠了

我都是直接用這個方法,直接只要這個cs檔案裡的類,然後訪問很多個和這個代理相同WDSL的WebServices,地址是根據參數去資料庫取,以達到根據不同的參數,可以向不同的WebService發送請求,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.