WPF MVVM - 关于基于XSD设计模型的查询

时间:2010-07-21 14:05:44

标签: c# wpf mvvm web-services xsd

我有一个基于MVVM原理的小型WPF应用程序。到目前为止,我在我的应用程序中创建了虚拟模型类。现在我打算调用一个使用XSD的Web服务。期待我想使用这些Xsd类型作为模型。

我可以看到至少两种方式(可能更多);例如 -

  • 添加对Web Service的引用。这意味着VS将生成适用于XSD中定义的类型的类。然后我可以将这些类用作模型。如果在应用程序中使用了两个或更多Web服务并且这些Web服务使用相同的XSD类型,则在添加引用时存在潜在的命名空间冲突(不是主要的冲突)。
  • 编写我自己的Model类,可以根据从WebService调用返回的XML来填充。模型可以在初始化时针对XSD验证XML。这样就不会添加任何引用,并且可以使用HTTP GET / POST方法调用Web服务。但这涉及每次XSD更改时手动更新模型。

您能否就使用XSD类型作为模型的最佳方法提出建议(基于您过去在使用MVC / MVVM应用程序中的XSD中定义类型的类似场景的经验)?

1 个答案:

答案 0 :(得分:1)

这取决于您的应用程序的场景。如果您计划在全世界分发您的客户端并经常更改服务接口和数据对象,您必须找到一种从xsd在客户端中构建模型的方法。 否则第一种方法就容易多了。