【发布时间】:2012-01-13 18:24:24
【问题描述】:
我一直在与一些表单处理提供商合作,他们似乎有一个用于键值对数据的通用接收器。我正在尝试这样做,但我尝试使用的每个数据结构都实现了一个接口,因此无法序列化容器以在 web 方法中使用。
我什至尝试过使用基本的“对象”数据类型 - 没有成功
[WebMethod]
public void processResponse( object lead ){
Dictionary<string, string> DList = (Dictionary<string,string>) lead;
如何使用此 Web 服务接收未定义数量的键值对,以便我可以对接收到的数据执行业务逻辑并使用统一的输入法智能地路由数据?静态类型的类在这种情况下不起作用,因为不同类型的潜在客户具有不同数量的字段/属性。
【问题讨论】:
-
您是否有理由使用旧版 ASMX 服务而不是 WCF?
-
那么,您的意思是没有理由不使用 WCF?那么我的建议是使用WCF。
-
我对 WCF 一无所知 - 并且停止学习新方面的进步并不是真正的精明实践。也许在未来这将是一种选择
-
这是因为 WCF 使用 DataContractSerializer 可以序列化键值对。如果您将
Dictionary<T,K>作为参数,它将无法与 *.asmx 一起使用,但可以与 WCF 服务一起使用。 -
根本没有被嘲讽。 ASMX 中几乎所有限制的答案都是“使用 WCF”。 “我没有时间学习 WCF”的答案是“学习 WCF 的子集并不需要花费大量时间,这与您使用 ASMX 所做的相同”。
标签: c# .net web-services asmx