[size=x-small;]在WebService中传递SortedList, ListDictionary 和 Hashtable 参数,如果直接传递,就会报错:System.NotSupportedException: The type System.Collections.SortedList is not
supported because it implements IDictionary.[/size]
[size=x-small;]通过集合类的CopyTo 方法将其转化成DictionaryEntry 数组,再进行传递;客户端接收后,再将其转化成SortedList, ListDictionary 和 Hashtable 集合。[/size]
[WebMethod]
public DictionaryEntry[] HelloWorld()
{
SortedList sl = new SortedList();
sl.Add("Key","Value");
DictionaryEntry[] array = new DictionaryEntry[sl.Count];
sl.CopyTo(array, 0);
return array;
}
[size=85%; font-family: Verdana;][size=x-small;]
[/size][/size]
[size=x-small;]
public void get(DictionaryEntry[] entries)
{
SortedList list = new SortedList();
foreach (DictionaryEntry entry in entries)
{
ist.Add(entry.Key, entry.Value);
}
}
[/size]
supported because it implements IDictionary.[/size]
[size=x-small;]通过集合类的CopyTo 方法将其转化成DictionaryEntry 数组,再进行传递;客户端接收后,再将其转化成SortedList, ListDictionary 和 Hashtable 集合。[/size]
[WebMethod]
public DictionaryEntry[] HelloWorld()
{
SortedList sl = new SortedList();
sl.Add("Key","Value");
DictionaryEntry[] array = new DictionaryEntry[sl.Count];
sl.CopyTo(array, 0);
return array;
}
[size=85%; font-family: Verdana;][size=x-small;]
[/size][/size]
[size=x-small;]
public void get(DictionaryEntry[] entries)
{
SortedList list = new SortedList();
foreach (DictionaryEntry entry in entries)
{
ist.Add(entry.Key, entry.Value);
}
}
[/size]
WebService参数传递技巧
本文介绍了一种在WebService中传递SortedList,ListDictionary和Hashtable等集合类参数的方法,避免了不支持这些类型导致的错误。通过使用CopyTo方法将集合类转换为DictionaryEntry数组,实现了跨平台的数据传递。
2881

被折叠的 条评论
为什么被折叠?



