在我的 asmx 文件中,我有
[WebMethod]
[ScriptMethod]
public void Method(IDictionary<string, CustomClass> objectOfCustomClass)
{
//do stuff
}
自定义类定义为:
public class CustomClass
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
一切顺利,从 Jquery ajax 方法成功使用了 Web 服务。最近我决定测试并尝试从直接 URL 访问它,例如http://localhost/Services.asmx/Method
我收到了这条消息
“无法序列化接口 System.Collections.Generic.IDictionary”
这个好像不行 是什么原因造成的,是否正常?我很困惑——这似乎是一种干净的做事方式,但根据微软的说法,不应该这样做,但它可以工作,只是在直接访问 Web 服务时不行。是什么赋予了?我还在一些 MS 网站上读到,您不能将 IDictionary 作为参数传递给 Web 服务,但它工作正常......所以它可以完成吗?有人可以一劳永逸地澄清这一点吗?