[英]Build a simple class library for ASP.NET Core and MVC 5 Applications
[英]What is an easily maintainable way to share a common .net class library over many corporate asp.net mvc 3 web applications?
我一直在努力滿足我的所有要求。
這是我們庫中的內容:
給我帶來麻煩的一項要求如下:
這是因為:
我對大家的問題是,您如何在類似的環境中處理通用代碼?
GAC似乎比其價值還麻煩,我們希望所有應用程序都使用相同的代碼,而不是在多個版本上具有多個應用程序,而必須維護所有這些。 是否有設計模式/最佳實踐可以在這方面指導我們?
另外,作為獎勵,如果您可以解決上述任何問題,那也很好。
謝謝!
編輯:我想接下來的問題是我們是否應該在服務器上甚至有一個包含通用dll的目錄,或者是否僅應在部署/更新項目時進行部署?
首先,您將想要分離出您想要實現的目標。 不要創建一個可以完成所有任務的庫,否則您將擁有一個大泥巴球 。 不要害怕創建幾個可維護的庫來實現您所追求的目標。 是否有特定原因需要將其存儲在一個位置?
例如,您提到的幾個項目是MVC或特定於Web的。 如果您有可以被MVC重用的項目,請創建一個類庫,其中包含您繼承的MVC基類,並在項目中引用它們。 盡可能使用單一責任原則。
關於您提到的其他項目,例如數據庫連接性(如果可重用),請將其抽象到數據訪問類庫中並進行引用。 其他簡單的操作,例如讀取ini文件或創建文件,創建另一個庫並將其抽象為易於使用的方法。
我更喜歡在本地復制庫dll。 您永遠不知道何時需要對庫進行更改,但是您不希望所有項目都停止編譯。 當您准備實現該庫的新版本時,請復制dll並重新編譯。
不知道為什么所有的仇恨都對聯邦軍。 它旨在解決此特定問題。 將常見的dll安裝到gac,所有應用程序都可以看到它們。 需要部署一個新的,只需將其重新安裝在一個地方即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.