2009-09-02 145 views
2

我的Ruby on Rails有經驗,現在正在ASP.NET中編寫一個項目。所以找到了ASP.NET MVC對我來說真是太棒了,因爲它在很多方面似乎都是Ruby on Rails的逐字拷貝。但是,有差異,我不得不重新學習一些東西。圖書館課程在哪裏?

一個這樣的事情是處理附加(庫)功能的方式。我想添加一個加密實用程序的功能,而在Rails中,我只需將一個類添加到/ lib目錄,並知道它將在我的控制器中可用。我如何在ASP.NET MVC中做到這一點?

我想過爲此創建一個模型類,但我不確定這是否正確。我真正想要的是加密(普通)和解密(加密)函數返回一個字符串,我將使用.NET加密庫進行實際的加密和解密,但希望用簡單易用的代碼封裝和代理它們的功能,使用跨多個控制器可用的功能。

有什麼建議嗎?

回答

3

在您的項目中,您可以添加一個名爲lib的文件夾,或其他,並將代碼放在那裏。

+2

http://en.wikipedia.org/wiki/Lib - 「躺在牀上」?或者「摩門教之書中兩位傑列列王之一」?糟糕的做法。縮短單詞沒有獎勵分數。 – 2009-09-02 10:40:50

+0

呃? 「我只是將一個類添加到/ lib目錄」是爲什麼我建議添加一個名爲lib的文件夾。 – Fermin 2009-09-02 11:12:37

+1

我沒有看到使用調用文件夾庫的問題。這不是不好的做法,許多alt.net和敏捷社區都使用這種類型的命名約定。 – skyfoot 2009-09-02 11:32:22

7

要做的最好的事情是創建一個簡單的類庫的第二個項目。然後在您的MVC應用程序中引用此類庫。

+0

謝謝,如果它不只是一個班級,我會這樣做(並使其成爲可接受的解決方案)。如果事情變得更加複雜,我可能會稍後將它重構爲外部項目。 – haslo 2009-09-02 12:29:43

3

Asp.net MVC仍然有引用,所以將您的庫添加到您選擇的文件夾並通過添加引用選項引用該庫。

我喜歡以下開發樹結構。

/docs 
/lib 
/src 
/tools 

lib文件夾是第三方庫,SRC是我的MVC和工具的來源是像NUnit的工具等

爲自己的庫添加一個新的項目對他們來說就像你在正常的asp.net。 我也想爲我的模型,bll和dal添加一個新項目。

0

這可能不是直接回答你的問題,但我有我正在使用asp.net的MVC開發一個項目opensoure以下結構..

* Gol.Core.Session (contains session manager both real and fake) 
* Gol.Core.Caching (contains caching including velocity, enterprise lib. provider) 
* Gol.Core.Logging (contains logging components and providers) 
* Gol.Core.Instrumentation (contains instrumentation related items) 
* Gol.Core.UI (UI helpers, and other things related to UI) 
* Gol.Core.Security (security,authentication related things) 
* Gol.Core.Utilities (common utility functions like encryption, helper methods, etc). 
* Gol.Core.Metadata (metadata manager). 
* 
    Gol.Web.Controllers (all controllers goes here). 
* 
    Gol.Cms.Contracts (contains the service contracts) 
* Gol.Cms.Model (contains the service model) 
* 
    Gol.Cms.Services (contains the service implementation). 
* 
    Gol.Web (the web project that contains the views) 
* Gol.Test (or Gol.Specification) 

有一個相關的問題,對於這個at Project structure recommendation for asp.net mvc