为Web服务实现我自己的IXmlSerializer

时间:2011-03-15 17:30:32

标签: c# web-services xml-serialization asmx

我正在制作一个传递几个对象的asmx Web服务,我有两个问题:第一个是我使用字典,第二个是一些对象只有属性。

我已经对网络服务做出了足够的妥协,我不会给他赢得另一场战斗的乐趣,所以我决定为我的对象编写自己的序列化器。这是一个好的决定吗?我说的是7个类和一个字典,它们都有某种只读属性 我是否必须为每个类创建一个模式文件?看看IXmlSerializer实现它似乎并不太复杂,我要做的就是在ReadXml中为类创建一个“构造函数”,在WriteXml中编写一个“解构函数”,不是吗?

编辑:好的,这回答了一个问题,现在当我在客户端获取对象时,它们作为数据集[]被接收,如何将它们转换为适当的类?

1 个答案:

答案 0 :(得分:1)

总的来说,对于给定的单一课程来说,它并不是很复杂。

如果您描述的是完整的对象图,那么它可能会变得复杂。您只需要提供一个XML结构,其中包含构建类型实例和所有相关类型所需的所有信息。

这可能需要更改类以及工作,即如果依赖类型的实例通常由主类内部构建,如何在外部构建此实例并将其注入到类中?不漂亮 - 所以如果有一个对象之间有很多依赖关系,我会考虑这个方法。如果它适合您当前定义的对象依赖关系和创建策略,那么一定要去。