2010-07-21 55 views
0

我有一个基于MVVM原型的小型WPF应用程序。到目前为止,我有在我的应用程序中创建的虚拟Model类。现在我打算调用一个使用XSD的Web服务。展望未来,我希望将这些Xsd类型用作模型。WPF MVVM - 基于XSD的设计模型查询

我可以看到至少有两种方式做到这一点(可以更多);例如 -

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

您可以请教关于使用XSD类型作为模型的最佳方法(根据您以往使用MVC/MVVM应用程序中使用XSD中定义的类型的方案的经验)?

回答

1

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