无法将SortedDictionary传递给WebService?

时间:2014-04-16 10:16:33

标签: c# .net web-services dictionary static

这是我的asmx WebService方法的快速代码:

[WebMethod]
public static string Test(SortedDictionary<string, string> signature_additional_parameters)
{
    return "empty";
}

但它说:

类型System.Collections.Generic.SortedDictionary`2 [[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 23523TEASDV],[System.String,mscorlib,Version = 4.0 .0.0,Culture = neutral,PublicKeyToken = 23523TEASDV]]不受支持,因为它实现了IDictionary。

如果我设置方法static,它会起作用,但此时我无法通过WebService调用该方法。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

字典(IDictionary)不可序列化。一个简单的解决方法是让List具有一个包含Key和Value类的类,并确保该键是唯一的。