知識
不管是網(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
相關案例查看更多
相關閱讀
- 開通微信小程序被騙
- 云南科技公司
- 云南網(wǎng)站建設
- 云南網(wǎng)站建設服務公司
- 云南小程序開發(fā)報價
- 微信小程序開發(fā)入門課程
- 做網(wǎng)站
- 網(wǎng)絡公司電話
- 小程序
- 昆明小程序定制開發(fā)
- python開發(fā)小程序
- 手機網(wǎng)站建設
- vue開發(fā)小程序
- 云南軟件公司
- 搜索引擎優(yōu)化
- 開發(fā)微信小程序
- 昆明做網(wǎng)站
- 云南網(wǎng)站制作哪家好
- 網(wǎng)站優(yōu)化
- 百度小程序開發(fā)公司
- 小程序開發(fā)
- 云南小程序代建
- 網(wǎng)站搭建
- 云南網(wǎng)站建設開發(fā)
- 小程序密鑰
- 網(wǎng)站建設選
- 云南小程序商城
- 汽車報廢回收軟件
- 昆明網(wǎng)站建設公司
- 汽車報廢回收管理系統(tǒng)