2013-02-28 222 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()方法。這樣您就不會複製所有的控制器邏輯,驗證邏輯等。

相關問題