簡體   English   中英

打破asp.net Web應用程序

[英]Breaking up an asp.net web application

希望收集關於如何分割Web應用程序(或者可能是Web應用程序集)的一些觀點(項目方面)...基本上整個事情將是一個大型站點,但問題出現是因為它有一個各種模塊,每個模塊都有自己的開發/發布周期。

出現的問題是,在嘗試使會話在站點之間共享並在DLL中嵌入共享資源但將它們保持為一個大項目時,將它們拆分成為一個令人頭痛的問題,從源代碼控制的角度來看是一場噩夢。

我能想到的可行方法是:

  1. 有一個應用程序和分支像瘋狂的每個模塊的工作:在基本的風格基礎上,這似乎是正確的,但它將是很多分支和合並分支在所有的時間將是一個噩夢......
  2. 使它們成為所有單獨的應用程序:缺點是它們共享其母版頁和許多自定義控件(在ascx中實現)。 我知道如何將它們放在DLL中(使用虛擬路徑提供程序),但這是一個相當混亂的解決方案。 最重要的是在應用程序之間來回傳遞會話本質上構建一個自制會話解決方案......

我試圖找出我能做但失敗的另一件事是在某種程度上在csproj中有一個“虛擬文件夾”,例如“ModuleA”文件夾實際映射到“../../../ModuleA /樹干/”。 我相信沒有使用某種預構建腳本就無法做到這一點,但我希望能在Visual Studio中實際加載一些東西,所以我覺得這個想法是不行的......

有沒有人對我應該采取哪種方式有任何建議(無論是上述之一還是我沒有考慮過的事情)? 想要確保我不會在這里拍攝自己的腳,因為它可能是一個長期項目,有很多未來的增強/維護......

我已經在我們的一個項目中完成了這項工作。 我們在開發過程中肯定會遇到一些問題,但為了可維護性,將單獨的dll中的項目分開是絕對值得的

正如您還建議的虛擬路徑提供程序我有一些相同的鏈接可能會幫助您。 另外,為了在兩個模塊之間傳遞數據,我們在接口中創建了屬性,並為接口創建了單獨的項目,並且所有模塊都實現了該接口,因此我們可以將值從一個模塊傳遞給onther模塊。

此外,如果您構建模塊化應用程序總是可取的,那么它應該彼此獨立,但最終它取決於您的要求。

鏈接1

UC來自數據庫

應用程序之間的會話共享的某些鏈接(我不建議分享會話但仍然如果你想要你可以閱讀這篇文章)

ASP .Net論壇

使用State Server

堆棧溢出

如果您正在構建項目,我不確定使用asp.net 2.0是否是個好主意,因為您已經遇到了問題。 在我的項目的某個階段,我將這些ascx控件移動到單獨的“控件庫項目”,它只是獲取我的html字符串然后我放在網站的某個地方。 就像在aspx頁面中使用<%= fControl%>語法一樣,我填充了該代碼。 不是優雅的解決方案,但讓事情變得更容易。 無論如何,我們決定在php中重新實現項目,因為它更便宜並且沒有出現這樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM