日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

多个project[项目]共享session

發(fā)布時(shí)間:2024/4/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多个project[项目]共享session 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 建立一個(gè)空白解決方案blank solution,如:d:\MyProject\MyProject.sln

2. 在d:\MyProject下建一個(gè)Web Application的根目錄d:\MyProject\WebMis并設(shè)為http://localhost/WebMis的虛擬目錄

3. 在WebMis目錄下根據(jù)模塊分別新建目錄,如:d:\MyProject\WebMis\Login和d:\MyProject\WebMis\CheckOut

4. 在VS.net中根據(jù)模塊新建web application,如:http://localhost/WebMis/Login和http://localhost/WebMis/CheckOut

5. 新建后Login和CheckOut兩個(gè)目錄自動(dòng)被設(shè)置為虛擬目錄

6. 在WebMis項(xiàng)目中添加Login和CheckOut的項(xiàng)目引用

7.在IIS管理器中刪除Login和CheckOut的虛擬目錄

8. 刪除各項(xiàng)目的global.asax(除根項(xiàng)目)

9. 除去個(gè)項(xiàng)目的web.config(除根項(xiàng)目)中的如下代碼:
<authentication mode="Windows" />
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
或刪掉web.config(若不需要在各目錄中進(jìn)行配置)

10. 編譯后,即可運(yùn)行。






同一個(gè)站點(diǎn),不同虛擬目錄下的Web應(yīng)用程序不能共享Session。而VS.net 默認(rèn)創(chuàng)建的 Web 工程是一個(gè)工程一個(gè)虛擬目錄,一個(gè)工程使用一套自己的Web.config和Global.asax文件,這樣我們?cè)陂_發(fā)一個(gè)站點(diǎn)的多個(gè)關(guān)聯(lián)項(xiàng)目(通過Session共享資源)的時(shí)候,就會(huì)遇到麻煩。
解決這個(gè)問題并不難,把這些工程合并到一個(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不可能共享了。
具體來說,滿足以下條件,可以實(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了。
簡(jiǎn)單演示,實(shí)現(xiàn)webapp1 和 webapp2 Session互訪:
前提條件:
有兩個(gè)Web 應(yīng)用 WebApp1,WebApp2在同一個(gè)站點(diǎn)。我們要演示的是 WebApp1應(yīng)用中寫一個(gè)Session值,比如Session["data1"]="data1"; 然后在WebApp2中讀取出這個(gè)Session值。
1、把兩個(gè)Web工程包含在同一個(gè)解決方案中,比如:Solution3;(這個(gè)不用我圖片演示了把,新建一個(gè)空白解決方案,然后把存在的兩個(gè)Web工程加入這個(gè)解決方案)
2、新建一個(gè)Web工程ShareNow1,這個(gè)工程是整個(gè)站點(diǎn)的Web工程,不用包含這個(gè)站點(diǎn)下的幾個(gè)Web工程,如果從解決方案瀏覽器下看如下
3、去除WebApp1和 WebApp2的虛擬目錄配置。
4、WebApp1和 WebApp2兩個(gè)Web工程的Web.Config文件中刪除一些設(shè)置,刪除那些看上面提到的框。(為了減少麻煩,最簡(jiǎn)單的方法是直接刪除Web.Config和Global.asax 兩個(gè)文件。這樣以后程序啟動(dòng)就調(diào)用它上級(jí)的這兩個(gè)配置文件,也就是這個(gè)ShareNow1? web應(yīng)用的這兩個(gè)文件)
5、在ShareNow1 web工程中增加對(duì) WebApp1 WebApp2 兩個(gè)Web工程的引用,注意:是工程引用,不是其他引用
( 這三個(gè)Web工程是在同一個(gè)解決方案里面,這樣才可以實(shí)現(xiàn) 工程引用),圖2也可以看到把這兩個(gè)工程引用到ShareNow1工程了。
6、生成解決方案;
7、在webapp1中WebForm1.aspx設(shè)定Session[“data1”]并顯示;
在webapp2中WebForm2.aspx顯示由webapp1中WebForm1.aspx接受的Session[“data1”]的值。

轉(zhuǎn)載于:https://www.cnblogs.com/flyfesh/archive/2009/06/15/1503450.html

總結(jié)

以上是生活随笔為你收集整理的多个project[项目]共享session的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。