< 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 ,如需轉載請自行聯系原作者