我想创建一个应用程序,有两个ASP。NET MVC 3 web客户端和Windows Phone 7电话客户端。应用程序数据存储在SQL Server中,需要从两个客户端访问。
在这种情况下,我有两个问题:
- 我想在我的手机应用程序中重用我在(现有)MVC应用程序中使用的视图模型,并使用
FluentValidation
验证这些模型。我是否应该创建一个名为ViewModels的新类库并在两个客户端项目中引用它,或者有更好的方法? - 创建一个两个客户端都可以访问的Web服务合适吗?还是通过MVC web项目更好地访问数据?
对于该场景,合适的解决方案结构应该是什么样的?
我是否应该创建一个名为ViewModels的新类库并在两个客户端项目中引用它,或者有更好的方法?
是的。但你不能。你也可以,但是你需要两种不同的项目类型。我建议在某个项目中使用快捷方式。
一个"Windows Phone类库"无法从ASP访问。NET,反之亦然。
创建一个两个客户端都可以访问的Web服务合适吗?
是的,非常合适
或者通过MVC web项目访问数据更好吗?
您可以在您的web项目中托管web服务。但是,如果您有能力托管一个单独的服务,则更容易维护。
使用RestSharp,您可以轻松地将其与ASP集成。净MVC。- 你可以创建一个包含视图模型的库,如果它是一个可移植类库,它可以被两个客户端项目使用。(它们是为这个场景创建的。)
我知道FluentValidation支持WP7,但我不确定那个版本有什么不同,或者你是否需要做一些特别的事情来使用PCL。