之間的我有都包含在公共子目錄淨股的dll兩個Web服務
CompanyName\Service1
CompanyName\Service2
每一個目錄都有一個包含它的dll一個bin文件夾下面兩個Web服務。我現在已經到了一些地方,其中一些代碼已經重新構建,並且有相當多的常見組件,我希望能夠「共享」它們。什麼是最好的方式去做這件事?以下是我找到的解決方案列表(以及否定)。
- AssemblyResolving - 安全問題。
- codeBase web.config中的元素 - 組件位置的硬編碼路徑。
- GAC - 目前還沒有我們的產品使用GAC,我個人對使用它的知識非常有限。這可能只是對未知的恐懼。
- 在兩個位置放置程序集 - 難以更新原位補丁。需要確保文件在所有位置被替換。
我是否缺少對我有幫助的其他內容?有人會推薦使用上面列出的任何選項嗎?
此外,我不能將這兩個服務合併爲第三方當前使用的服務(它們分別構建)。
如果你不改變你的DLL的代碼的時候,然後,將裝配在兩個位置。或者如果你有一個自動構建過程的DLL有生成腳本將輸出DLL複製到兩個文件夾如果可能的話。 – Aravind 2011-05-18 12:37:01
您對兩個地點的說明「難以更新原地補丁」實際上是錯誤的。通過共享相同的物理組件,如果常用程序集需要更改接口或進行其他重大更改,則會更難協調對其中一個或另一個Web服務的更改。 – Tao 2011-05-18 12:44:12
我不明白......難道你不能只是將兩個項目的引用添加到包含共享代碼的新項目中?當建立一個特定項目時,參考將導致共享項目被建立 – Simeon 2011-05-18 12:45:01