如何在.net中编写一个返回一组动态变量的web服务?
本文关键字:动态 一组 变量 服务 web 返回 一个 net | 更新日期: 2023-09-27 18:09:35
我当前的设置是一个具有Item
对象的ASMX
web服务,并返回Items
的List<>
。
Item
有114个不同类型的字段。它由。net web应用程序和Java web应用程序使用(使用Axis2生成客户机代理)。
我的问题是,每次我们想要添加一个字段到结果集中,我们必须修改服务来添加字段到对象,以及为java端生成一个新的客户端代理。此外,sql字段到对象字段的映射是一个将每个字段从数据读取器加载到对象的大方法,确保转换为正确的数据类型。
是否有更动态的方法来做到这一点?我查了字典的列表,但不能连载。另一种选择是发送Struct
的List<>
, Key
和Value
字段。这就把解析类型的工作放在了客户机上,这并不一定是最优的。
是否有一个模式来处理这样的事情,或者禁止,有没有人有一个好的解决方案来帮助使它更易于维护?我愿意将其转换为WCF(尽管我对WCF不太熟悉),如果我们的Java应用程序有一个体面的方式来使用该服务。
如果你需要更多的细节,就问。谢谢!
除了使用List<KeyValuePair<string, object>>
之类的东西,我认为你不会找到任何其他解决方案;WCF在这方面没有多大帮助。
我认为这实际上是一个很好的解决方案,它将使你的数据读取更简单和可扩展,当你添加新的字段时,你不需要改变你的服务器端代码。
您可以在客户端上编写代码,完成将值对映射回实际结构的工作,然后将大多数代码更改(当添加字段时)隔离到您的客户端。此外,如果您的客户端不需要新的字段,您可以忽略这些更改,而不会破坏任何内容。