天天看點

在webservice中傳遞Hashtable

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

webservice中不支援hashtable的資料類型,那麼如何在webservice中傳遞hashtable呢?我們可以通過将hashtable轉化為webservice中支援的數組的類型來進行傳遞,在調用的時候再轉換成hashtable就可以了。

[WebMethod]

    public DictionaryEntry[] SetValue()

    {

        Hashtable sl = new Hashtable();

        sl.Add("kiss", "me");

        sl.Add("love", "you");

        DictionaryEntry[] array = new DictionaryEntry[sl.Count];

        sl.CopyTo(array, 0);

        return array;

    }

調用webservice中的方法

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Collections;

using SourceCode;

using localhost;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

        if (!IsPostBack)

        {

            getHashTable();

          }

      }

    private void getHashTable()

        Hashtable obj = new Hashtable();

        localhost.WebService test = new localhost.WebService();

        localhost.DictionaryEntry[] entries = (localhost.DictionaryEntry[])test.SetValue();

        foreach (localhost.DictionaryEntry entry in entries)

               obj.Add(entry.Key, entry.Value);

        }

        foreach (System.Collections.DictionaryEntry each in obj)

            Response.Write(each.Key.ToString() + "=" + each.Value.ToString() + "<br/>");

注:

引用webservice的方法

在 "項目 "單擊右鍵-> "添加web引用 ",輸入你的webservice位址,讓系統幫你列出Url上可用的webservice,輸入 "web 引用名 "-> "添加引用 "就可以了.

剩下的和引用一個普通的dll就沒什麼大差別了.

<a href="http://enetcorner.blog.163.com/tag/c%23%E4%B8%93%E6%A0%8F/feeds">#c#專欄</a>

本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2010/06/02/2911999.html   ,如需轉載請自行聯系原作者