欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

團隊開發(fā)中,如何處理一個站點不同Web應用通用Session - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設 >

團隊開發(fā)中,如何處理一個站點不同Web應用通用Session

發(fā)表時間:2004-3-10

發(fā)布人:葵宇科技

瀏覽次數(shù):47

團隊開發(fā)中,如何處理一個站點不同Web應用通用Session

前一段時間被同一個站點的不同Web項目通用Session的問題苦惱,在CSDN網(wǎng)友的幫助下,找到了解決方法,網(wǎng)上也找到了一些相關文章。不過這些文章描述的并不夠詳細,我把這些相關知識整理一下,方便自己以后查找,也方便以后碰到這樣問題的人,不要到處找資料,拼湊資料。

同一個站點,不同虛擬目錄下的Web應用程序不能共享Session。而VS.net 默認創(chuàng)建的 Web 工程是一個工程一個虛擬目錄,一個工程使用一套自己的Web.config和Global.asax文件,這樣我們在開發(fā)一個站點的多個關聯(lián)項目(通過Session共享資源)的時候,就會遇到麻煩。

解決這個問題并不難,把這些工程合并到一個虛擬目錄下,至于Web.config和Global.asax,雖然一個工程可以配置一個,但是推薦還是整個web站點用一套配置,而且不同目錄下的Web.config影響不同的目錄下aspx的配置,如果根目錄下和一個WEB應用程序目錄下都有Web.config文件,而且都定義了,sessionState mode="InProc" 顯然這兩個應用的Session不可能共享了。

具體來說,滿足以下條件,可以實現(xiàn)同一站點Session共享。

1、需要共享Session的站點去處虛擬目錄設置,如下圖:

(圖一,刪除應用程序的虛擬目錄,注意是點擊刪除按鈕,不是卸載按鈕,把自己的應用程序目錄文件刪除了我可不負責)

2、保證整個站點有個Web應用程序必備的東西,比如Web.config和Global.asax。 這里的設置是要對整個站點負責的。簡單的方法可以在站點的根目錄創(chuàng)建一個Web應用。

3、刪除各個需要通用Session站點目錄下Web.config和Global.asax文件中影響該應用程序的設置,比如下面框中是羅里的Web.config中應該刪除的。

滿足以上條件就可以通用Session了。

下面針對對于團隊開發(fā)中,使用vs.net開發(fā)站點不同項目通用Session寫一個簡單演示:

前提條件:

有兩個Web 應用 WriteSession ,ReadSession 在同一個站點。我們要演示的是 WriteSession Web應用中寫一個Session值,比如Session["aaa"] = "123"; 然后在ReadSession中讀取出這個Session值。

上述兩個工程就相當于大型Web開發(fā)中的分配給兩個人的開發(fā)工程。可以這樣認為,WriteSession 是處理用戶登錄,登錄后登錄信息記錄到Session 然后其他Web工程 比如羅列用戶信息在另外一個Web工程ReadSession

1、把兩個Web工程包含在同一個解決方案中,比如:WebTest;(這個不用我圖片演示了把,新建一個空白解決方案,然后把存在的兩個Web工程加入這個解決方案)

2、新建一個Web工程,這個工程是整個站點的Web工程,不用包含這個站點下的幾個Web工程,如果從解決方案瀏覽器下看如下圖:

(圖2 雖然 ReadSession WriterSession 下的aspx文件也屬于ghj1976.csdn.net這個Web工程的一部分,但是它的工程下并沒有羅列,這樣實現(xiàn)了一個站點多個項目的功能,在稍后的配置中可以看到,ReadSession WriterSession 都被解除了虛擬目錄。)

3、按照圖一提供的方法,去除ReadSession 和 WriterSession 的虛擬目錄配置。

4、ReadSession 和 WriteSession 兩個Web工程的Web.Config文件中刪除一些設置,刪除那些看上面提到的框。(為了減少麻煩,最簡單的方法是直接刪除Web.Config和Global.asax 兩個文件。這樣以后程序啟動就調用它上級的這兩個配置文件,也就是ghj1976.csdn.net這個web應用的這兩個文件)

5、在ghj1976.csdn.net web工程中增加對 ReadSession WriteSession 兩個Web工程的引用,注意:是工程引用,不是其他引用 看下圖

(圖3 這三個Web工程是在同一個解決方案里面,這樣才可以實現(xiàn) 工程引用)

圖2也可以看到把這兩個工程引用到ghj1976.csdn.net工程了。

6、生成解決方案,運行程序就看可看到,一切ok了。

如果要發(fā)布這個程序,執(zhí)行文件只需要copy 根目錄下bin目錄下的文件就可以了。

其他要注意事項:

新建一個解決方案,這個解決方案只包含其中一個Web工程比如:ReadSession ,修改代碼,生成解決方案,你會發(fā)現(xiàn)執(zhí)行咋會不是自己修改后的呢。哈哈,當然不會一樣了,這個工程已經(jīng)不是虛擬目錄了,他調用的執(zhí)行文件是根目錄下bin目錄的文件,而不是這個解決方案目錄下bin目錄下的。

團隊開發(fā)中,WriteSession 可以看作每個人都要調用的公共工程,ReadSession 可以認為是每個人自己負責的工程,這樣就可以實現(xiàn)團隊開發(fā)中的多個工程共享一個Session了。

如何團隊開發(fā)網(wǎng)上這方面的文章很多,這里就不重復了。

相關資料連結:

CSDN 討論這個問題的帖子在:

http://expert.csdn.net/Expert/topic/1773/1773115.xml

307467 HOW TO: Create an ASP.NET Application from Multiple Projects for Team

http://support.microsoft.com/?id=307467

How to Share Session/Application State Across Different ASP.NET Web Applications

http://www.asp101.com/articles/jayram/sharestate/default.asp

317786 HOW TO: Manage Multi-Project Solutions in Visual Studio .NET

http://support.microsoft.com/?id=317786

相關案例查看更多