2013-02-28 145 views
0

我目前在jQuery Mobile中构建了一个MVC 4移动站点,以补充常规桌面版本(内置于MVC 3)。多个项目的Visual Studio解决方案“设计”

我已经为我的移动网站解决方案添加了一个项目(所以我有两个项目)。

由于我可以重复使用大多数模型,我只需将这些模型包含在我的新移动项目中即可从原始项目中获取它们。

我对.NET MVC非常新鲜,所以我需要您关于多个项目的最佳实践指南以及部署时可能遇到的问题。

我计划在子域(例如mobile.domain.com)下部署此移动网站,或者仅在domain.com/mobile下部署此移动网站。

  1. 移动项目在部署后是否仍然可以访问模型?

  2. 你是否以某种方式部署整个解决方案?在这种情况下,您如何决定移动项目应该驻留在特定的子域或文件夹中?

  3. 从原始项目中引用模型/类是否是一个聪明的想法,或者这会使得它不那么灵活?我想另一种方法是将模型复制到移动项目“模型”文件夹?

  4. 你会怎么做呢?

问候 的Mikael

+3

您应该考虑为您的桌面和移动站点使用单个站点。您可以根据经验更换视图。您还将支持深层链接,即从您的桌面站点共享的链接将转化为您的移动网站。这会花费很多复杂性,并且因为他们共享相同的控制器,所以您总是会同时考虑移动体验和桌面,但只是有不同的看法。 – Matty 2013-02-28 21:15:37

+0

@Matty将网站结合起来很有意思。看看Hanselman的如何在这里。 http://www.hanselman.com/blog/MakingASwitchableDesktopAndMobileSiteWithASPNETMVC4AndJQueryMobile。aspx – 2013-02-28 21:29:31

+0

我没有真正考虑过这个问题,但显然这是最好的解决方案。我会尽力遵循Hanselman的博客文章。谢谢! – 2013-03-01 11:17:45

回答

0
  1. 是,但你的整个桌面组装代码。
  2. 这是一个语义,你可以拥有它。消费者会更容易?也许有它自己的子域名所以m.yoursite.com。
  3. 您可以将常用模型分为两个站点引用的自己的项目。这将允许您进行影响两者的更改,并且您可能能够独立发布它们。
0

一个web项目不应该引用另一个。将模型移动到Web项目引用的另一个库是可以的。你不需要复制你的代码。

我假设你需要一个单独的项目,因为你不想重用你的行为。没有法律规定您不能根据用户使用您的网站的情况返回不同的视图。只需通过一个不同的路径View()方法。这样您就不会复制所有的控制器逻辑,验证逻辑等。

相关问题