【问题标题】:How do I validate ViewModels across an ASP.NET MVC and a Windows Phone Project?如何跨 ASP.NET MVC 和 Windows Phone 项目验证 ViewModel?
【发布时间】:2011-10-05 22:56:02
【问题描述】:
我想创建一个同时具有 ASP.NET MVC 3 Web 客户端和 Windows Phone 7 手机客户端的应用程序。应用程序数据存储在 SQL Server 中,需要从两个客户端访问。
鉴于这种情况,我有两个问题:
- 我想在我的手机应用程序中重用我在(现有)MVC 应用程序中使用的视图模型,并使用
FluentValidation 验证这些模型。我应该创建一个名为 ViewModels 的新类库并在两个客户端项目中引用它,还是有更好的方法?
- 创建两个客户端都可以访问的 Web 服务是否合适?还是通过 MVC Web 项目访问数据更好?
适合该场景的解决方案结构如何?
【问题讨论】:
标签:
asp.net-mvc-3
windows-phone-7
fluentvalidation
fluentvalidation-2.0
【解决方案1】:
我应该创建一个名为 ViewModels 的新类库并在两个客户端项目中引用它,还是有更好的方法?
是的。除非你不能。或者,您可以,但您需要两种不同的项目类型。我建议在其中一个项目中使用快捷方式。
无法从 ASP.NET 访问“Windows Phone 类库”,反之亦然。
创建两个客户端都可以访问的 Web 服务是否合适?
是的,非常合适
还是通过 MVC Web 项目访问数据更好?
您可以在您的网络项目中托管网络服务。但是,如果您有能力托管单独的服务,则更容易维护它。
使用RestSharp,您可以轻松地将其与 ASP.NET MVC 集成。
【解决方案2】:
- 如果是Portable Class Library,您可以创建一个包含视图模型并供两个客户端项目使用的库。 (它们就是为这种情况而创建的。)
我知道 FluentValidation 支持 WP7,但我不确定该版本的差异,或者您是否需要做一些特殊的事情才能使用 PCL。