情景:公共代碼
比方說,我有四個非常相似的應用程序(即大部分的功能是相同的,但他們有足夠的不同來證明各自爲單獨的應用程序)。
重複使用它們之間的通用功能代碼的最佳方式是什麼? COM +?網頁服務?
一般來說,我通常只是在一個單獨的項目(dll)中的代碼,但隨時更新,文件必須更新爲每個ASP.Net應用程序,並不知道是否有更好的它的方式。
謝謝!
情景:公共代碼
比方說,我有四個非常相似的應用程序(即大部分的功能是相同的,但他們有足夠的不同來證明各自爲單獨的應用程序)。
重複使用它們之間的通用功能代碼的最佳方式是什麼? COM +?網頁服務?
一般來說,我通常只是在一個單獨的項目(dll)中的代碼,但隨時更新,文件必須更新爲每個ASP.Net應用程序,並不知道是否有更好的它的方式。
謝謝!
如果可能,您可以使用DLL項目和一些Web應用程序或網站項目創建Visual Studio解決方案。 Web項目將有一個「項目」類型引用到DLL項目,並且所有內容都將同時生成。然後,您可以根據需要爲每個Web項目使用「發佈」工具。
如果所有應用程序都位於同一個虛擬服務器上,請考慮將共享程序集放在GAC中。這可以讓你在需要時分離版本,並將所有內容保存在同一個地方作爲獎勵。缺點:該程序集完全信任,您應該使用策略和CAS來確保外部不受信任程序集的信任槓桿點沒有提升。您還需要了解[AllowPartiallyTrustedCallers]屬性。
至於其他選擇,COM +,meh,有點重量級。適合交易性的東西。 Web服務不太適合數據量大的服務,但如果做得對,可以很好地維護。分享得越多,回報越好。
您可以擁有自己的項目,但不是將常用dll添加到項目引用中,而是將常用項目添加到所有解決方案中,然後添加對常用項目的引用。
這樣你就可以對任意數量的解決方案的一個項目,你有你的問題解決了;)
啊,但是每個項目引用的DLL可能還需要重新編譯,除非每個應用程序使用DLL有thier自己DLL的副本。 – 2008-12-02 16:08:10