2010-07-21 52 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中找到一種在客戶端中構建模型的方法。 否則第一種方法是非常容易的。