知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >
團(tuán)隊(duì)開(kāi)發(fā)中,如何處理一個(gè)站點(diǎn)不同Web應(yīng)用通用Session
發(fā)表時(shí)間:2004-3-10
發(fā)布人:葵宇科技
瀏覽次數(shù):47
團(tuán)隊(duì)開(kāi)發(fā)中,如何處理一個(gè)站點(diǎn)不同Web應(yīng)用通用Session
前一段時(shí)間被同一個(gè)站點(diǎn)的不同Web項(xiàng)目通用Session的問(wèn)題苦惱,在CSDN網(wǎng)友的幫助下,找到了解決方法,網(wǎng)上也找到了一些相關(guān)文章。不過(guò)這些文章描述的并不夠詳細(xì),我把這些相關(guān)知識(shí)整理一下,方便自己以后查找,也方便以后碰到這樣問(wèn)題的人,不要到處找資料,拼湊資料。
同一個(gè)站點(diǎn),不同虛擬目錄下的Web應(yīng)用程序不能共享Session。而VS.net 默認(rèn)創(chuàng)建的 Web 工程是一個(gè)工程一個(gè)虛擬目錄,一個(gè)工程使用一套自己的Web.config和Global.asax文件,這樣我們?cè)陂_(kāi)發(fā)一個(gè)站點(diǎn)的多個(gè)關(guān)聯(lián)項(xiàng)目(通過(guò)Session共享資源)的時(shí)候,就會(huì)遇到麻煩。
解決這個(gè)問(wèn)題并不難,把這些工程合并到一個(gè)虛擬目錄下,至于Web.config和Global.asax,雖然一個(gè)工程可以配置一個(gè),但是推薦還是整個(gè)web站點(diǎn)用一套配置,而且不同目錄下的Web.config影響不同的目錄下aspx的配置,如果根目錄下和一個(gè)WEB應(yīng)用程序目錄下都有Web.config文件,而且都定義了,sessionState mode="InProc" 顯然這兩個(gè)應(yīng)用的Session不可能共享了。
具體來(lái)說(shuō),滿足以下條件,可以實(shí)現(xiàn)同一站點(diǎn)Session共享。
1、需要共享Session的站點(diǎn)去處虛擬目錄設(shè)置,如下圖:
(圖一,刪除應(yīng)用程序的虛擬目錄,注意是點(diǎn)擊刪除按鈕,不是卸載按鈕,把自己的應(yīng)用程序目錄文件刪除了我可不負(fù)責(zé))
2、保證整個(gè)站點(diǎn)有個(gè)Web應(yīng)用程序必備的東西,比如Web.config和Global.asax。 這里的設(shè)置是要對(duì)整個(gè)站點(diǎn)負(fù)責(zé)的。簡(jiǎn)單的方法可以在站點(diǎn)的根目錄創(chuàng)建一個(gè)Web應(yīng)用。
3、刪除各個(gè)需要通用Session站點(diǎn)目錄下Web.config和Global.asax文件中影響該應(yīng)用程序的設(shè)置,比如下面框中是羅里的Web.config中應(yīng)該刪除的。
滿足以上條件就可以通用Session了。
下面針對(duì)對(duì)于團(tuán)隊(duì)開(kāi)發(fā)中,使用vs.net開(kāi)發(fā)站點(diǎn)不同項(xiàng)目通用Session寫(xiě)一個(gè)簡(jiǎn)單演示:
前提條件:
有兩個(gè)Web 應(yīng)用 WriteSession ,ReadSession 在同一個(gè)站點(diǎn)。我們要演示的是 WriteSession Web應(yīng)用中寫(xiě)一個(gè)Session值,比如Session["aaa"] = "123"; 然后在ReadSession中讀取出這個(gè)Session值。
上述兩個(gè)工程就相當(dāng)于大型Web開(kāi)發(fā)中的分配給兩個(gè)人的開(kāi)發(fā)工程??梢赃@樣認(rèn)為,WriteSession 是處理用戶登錄,登錄后登錄信息記錄到Session 然后其他Web工程 比如羅列用戶信息在另外一個(gè)Web工程ReadSession
1、把兩個(gè)Web工程包含在同一個(gè)解決方案中,比如:WebTest;(這個(gè)不用我圖片演示了把,新建一個(gè)空白解決方案,然后把存在的兩個(gè)Web工程加入這個(gè)解決方案)
2、新建一個(gè)Web工程,這個(gè)工程是整個(gè)站點(diǎn)的Web工程,不用包含這個(gè)站點(diǎn)下的幾個(gè)Web工程,如果從解決方案瀏覽器下看如下圖:
(圖2 雖然 ReadSession WriterSession 下的aspx文件也屬于ghj1976.csdn.net這個(gè)Web工程的一部分,但是它的工程下并沒(méi)有羅列,這樣實(shí)現(xiàn)了一個(gè)站點(diǎn)多個(gè)項(xiàng)目的功能,在稍后的配置中可以看到,ReadSession WriterSession 都被解除了虛擬目錄。)
3、按照?qǐng)D一提供的方法,去除ReadSession 和 WriterSession 的虛擬目錄配置。
4、ReadSession 和 WriteSession 兩個(gè)Web工程的Web.Config文件中刪除一些設(shè)置,刪除那些看上面提到的框。(為了減少麻煩,最簡(jiǎn)單的方法是直接刪除Web.Config和Global.asax 兩個(gè)文件。這樣以后程序啟動(dòng)就調(diào)用它上級(jí)的這兩個(gè)配置文件,也就是ghj1976.csdn.net這個(gè)web應(yīng)用的這兩個(gè)文件)
5、在ghj1976.csdn.net web工程中增加對(duì) ReadSession WriteSession 兩個(gè)Web工程的引用,注意:是工程引用,不是其他引用 看下圖
(圖3 這三個(gè)Web工程是在同一個(gè)解決方案里面,這樣才可以實(shí)現(xiàn) 工程引用)
圖2也可以看到把這兩個(gè)工程引用到ghj1976.csdn.net工程了。
6、生成解決方案,運(yùn)行程序就看可看到,一切ok了。
如果要發(fā)布這個(gè)程序,執(zhí)行文件只需要copy 根目錄下bin目錄下的文件就可以了。
其他要注意事項(xiàng):
新建一個(gè)解決方案,這個(gè)解決方案只包含其中一個(gè)Web工程比如:ReadSession ,修改代碼,生成解決方案,你會(huì)發(fā)現(xiàn)執(zhí)行咋會(huì)不是自己修改后的呢。哈哈,當(dāng)然不會(huì)一樣了,這個(gè)工程已經(jīng)不是虛擬目錄了,他調(diào)用的執(zhí)行文件是根目錄下bin目錄的文件,而不是這個(gè)解決方案目錄下bin目錄下的。
團(tuán)隊(duì)開(kāi)發(fā)中,WriteSession 可以看作每個(gè)人都要調(diào)用的公共工程,ReadSession 可以認(rèn)為是每個(gè)人自己負(fù)責(zé)的工程,這樣就可以實(shí)現(xiàn)團(tuán)隊(duì)開(kāi)發(fā)中的多個(gè)工程共享一個(gè)Session了。
如何團(tuán)隊(duì)開(kāi)發(fā)網(wǎng)上這方面的文章很多,這里就不重復(fù)了。
相關(guān)資料連結(jié):
CSDN 討論這個(gè)問(wèn)題的帖子在:
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
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)靠譜公司
- 網(wǎng)站建設(shè)首選
- 電商網(wǎng)站建設(shè)
- 網(wǎng)站建設(shè)優(yōu)化
- 云南網(wǎng)站制作
- 云南網(wǎng)絡(luò)公司
- 小程序開(kāi)發(fā)課程
- 昆明做網(wǎng)站
- 云南小程序開(kāi)發(fā)公司
- 云南電商網(wǎng)站建設(shè)
- 汽車(chē)報(bào)廢回收
- python開(kāi)發(fā)小程序
- 云南網(wǎng)站設(shè)計(jì)
- 表單
- 人口普查小程序
- 云南網(wǎng)站建設(shè)選
- 百度小程序開(kāi)發(fā)公司
- 云南網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)電話
- 云南百度小程序
- 云南網(wǎng)站建設(shè)哪家強(qiáng)
- 網(wǎng)站優(yōu)化
- 云南網(wǎng)站建設(shè)首選
- 小程序分銷(xiāo)商城
- 企業(yè)網(wǎng)站
- 小程序密鑰
- web教程
- 小程序被攻擊
- 云南建設(shè)廳網(wǎng)站首頁(yè)
- 報(bào)廢車(chē)回收