2009-12-09 83 views
6

想要收集一些關於應用程序(或可能的Web應用程序集)應該如何分解的觀點(基於項目)...基本上整個事情將是一個大型網站,但問題的出現是因爲它有各種各樣的模塊,每個模塊都有自己的開發/發佈週期。分解一個asp.net web應用程序

出現的問題是,將它們分開成爲一個令人頭疼的問題,試圖使會話在站點之間共享,並將共享資源嵌入到DLL中,但將它們作爲一個大項目是來自源代碼管理角度的噩夢。

的方法可以做到這一點,我能想到的是:

  1. 有一個應用分支想瘋了每個模塊的工作:在一個基本風格的基礎這似乎是正確的,但它將很多分支機構和合並分支在任何時候都將是一場噩夢...
  2. 使他們所有獨立的應用程序:缺點是他們都分享他們的母版頁和很多自定義控件(實施ASCX)。我知道如何將這些放入DLL(使用虛擬路徑提供程序),但這是一個相當混亂的解決方案。在此之上是通過會話回往復主要建設一個自制會議解決方案的應用程序之間的...

另一件事我試圖找出我是否可以做,但未能成功以某種方式有一個「虛擬文件夾「,以便例如」ModuleA「文件夾實際映射到」../../../ModuleA/Trunk/「。我是比較相信這不可能不使用某種形式的預生成的腳本來完成,但我希望的東西,居然會在Visual Studio中適當加載,所以我覺得這個想法是不走...

有沒有人有任何建議,我應該用這種方式(無論是上述之一還是我沒有考慮過的)?要確保我不拍自己的腳在這裏的原因很可能是有很多的未來增強/維持長期的項目...

回答

3

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

正如您對虛擬路徑提供者所建議的那樣,我有相同的鏈接可以幫助您。還通過我們已經創建的接口屬性和創建單獨的項目對接口和所有模塊實現該接口兩個模塊之間的數據,所以我們可以從一個模塊到模塊onther值傳遞。

此外,它始終是最好,如果你正在構建模塊化的應用程序,那麼它應該是相互獨立的,但最終它取決於你的需求。

Link1

UC From Database

爲App之間的會話共享某些鏈接(我不會建議共享會話,但仍,如果你願意,你可以通過這個文章)

ASP .Net Forum

Using State Server

StackOverflow

+0

你的看法似乎與我在試圖找出全部結果時得出的結論非常接近。我同意直接分享這些鏈接中描述的會話是一件骯髒的事情 - 這樣我才能在實現這些解決方案之前編寫自己的會話控制器。至於使模塊足夠模塊化而不共享數據,每個模塊都是100%獨立於任何其他模塊的,但它們本質上與中央應用程序綁定,該中央應用程序將在webroot中運行(基本上它只是一個框架模塊連接成)。 – fyjham 2009-12-10 10:03:59

+0

PS:暫時還不會接受這個 - 希望多給點時間看看是否有人有其他意見/方法。如果沒有人在一兩天內響起,我很可能會接受。 – fyjham 2009-12-10 10:10:22

0

如果你正在建設的項目我不知道這是由於存在的問題,使用asp.net 2.0是個好主意。 在我的項目中的某個階段,我將這些ascx控件移到了獨立的「控件庫項目」中,該控件庫項目讓我獲得了html字符串,然後將其放到網站的某個位置。 像使用<%= fControl%>語法裏面的aspx頁面,我填寫該代碼。 不是優雅的解決方案,但讓事情變得更容易。無論如何,我們決定在PHP中重新實現項目,因爲它更便宜並且不會造成這樣的問題。

+0

嘿,我已經得到了ascx在dll運行時的工作情況(只有奇怪的是ascx的源代碼路徑,但即使這樣也行)。此外,我們使用的是asp.net 3.5,這非常實用,因爲作爲一家公司,人們知道,並且整個公司對這個項目進行再培訓並不是完全可行的。 – fyjham 2009-12-09 22:39:38

相關問題