六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

如何完成Asp與Asp.Net共享Session

[摘要]微軟.net中,Session的存儲機制已經與Asp的存儲機制不一樣,雖然可以在同一個IIS下同時運行asp與aspx,但是它們之間不能傳遞Session。之前大批系統應用到了asp,在升級過程中,如果完全拋棄asp來重寫,一來工作量太大,二來以前的成果不能保存下來。所以微軟提出了一個Sessio...
微軟.net中,Session的存儲機制已經與Asp的存儲機制不一樣,雖然可以在同一個IIS下同時運行asp與aspx,但是它們之間不能傳遞Session。
之前大批系統應用到了asp,在升級過程中,如果完全拋棄asp來重寫,一來工作量太大,二來以前的成果不能保存下來。

所以微軟提出了一個Session共享的解決方案,只是此文檔光說明原理,并沒有說具體的操作步驟,由此,我撰文描述過程。

簡單說明原理,asp與asp.net之間的Session統一存儲在數據庫中來實現共享

1、創建數據表
打開SQL Server查詢分析器,運行以下腳本來創建數據表,數據表名為SessionState
if exists (select * from sysobjects where id = object_id(N'[dbo].[SessionState]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[SessionState]
GO

create TABLE [dbo].[SessionState] (
[ID] uniqueidentifier NOT NULL ,
[Data] [image] NOT NULL ,
[Last_Accessed] [datetime] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

alter TABLE [dbo].[SessionState] WITH NOCHECK ADD
CONSTRAINT [PK_SessionState] PRIMARY KEY NONCLUSTERED
(
[ID]
) ON [PRIMARY]
GO

2、下載以下文件 Session.rar

將文件解壓后,將產生4個文件,分別作如下操作。
復制 global.asa 到系統根目錄下,并打開文件,修改Application("SessionDSN") 為合適的數據庫鏈接字符串,如果系統本身已經有了global.asa,則在此文件中添加如下Application:
Application("SessionDSN") = "initial catalog=SqlServerName;persist security info=False;user id=sa;password=****;packet size=4096"
在系統的 Web.config 文件中,添加此項
<add key="SessionDSN" value="data source=SqlServerName;initial catalog=SessionDemoDb;persist security info=False;user id=SessionDemoDbUser;password=****;packet size=4096" />
并將其值修改為合適的數據庫鏈接。
將另外兩個dll文件復制到系統目錄下(或其他合適目錄)

3、關閉IIS中Asp的Session選項
打開IIS,選擇站點,依次選擇屬性 -> 主目錄 -> 配置 -> 應用程序選項,將啟用會話狀況前的復選勾去除。如下圖:
screen.width-350)this.width=screen.width-350" border=0>

4、安裝SessionUtility.dll
首先找到 gacutil.exe 文件,一般情況下在 Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin 目錄下
在命令提示符窗口中,執行 gacutil /i SessionUtility.dll,(如果執行失敗,請將這兩個文件的路徑都寫全了)

5、注冊SessionUtility.dll為Com對象
同樣,要找到 regasm.exe 文件,一般情況下在 WINNT\Microsoft.NET\Framework\v1.1.4322 目錄下
在命令提示符窗口中,執行 regasm.exe SessionUtility.dll /tlb:SessionUtility.tlb,(如果執行失敗,請將這兩個文件的路徑都寫全了)
這樣就會產生出一個tlb文件,可當做普通的Com組件來調用。

6、注冊SessionManager.dll
這個很簡單了,在命令提示符窗口中,執行regsvr32 SessionManager.dll

7、如果是NTFS格式的系統,請找到 SessionMgr.dll,右鍵點擊,屬性,將IUSR_<machine_name>權限設置為可讀和可執行。

至此,我們已經可以實現了Asp與Asp.net之間Session共享了,那么怎么去用

在Asp中,我們要如下使用:
頁面開始端
Dim Session
Set Session = Server.createObject("SessionMgr.Session2")
Session("UserID") = ...
...
...
...
頁面結束端
Set Session = Nothing '記得一定要釋放哦

而在Asp.net中,我們要如下使用:
首先,我們要添加對SessionUtility的引用
然后,編碼時,原來是這樣的繼承 public class WebForm1 : System.Web.UI.Page,修改為public class WebForm1 : MSDN.SessionPage
這樣在編碼過程中就可以使用Session("UserID")這樣的形式了。

注意:雖然Session實現了共享,但是Session的使用語法,相對于.net中新增的部分,就沒有實現,畢竟要照顧asp
譬如Session.Remove,就


主站蜘蛛池模板: 日韩伦理片网站 | 色香欲亚洲天天综合网 | 天堂在线资源网 | 日韩a级毛片免费观看 | 日韩在线免费观看视频 | 天天亚洲 | 又粗又大又长又爽免费视频 | 午夜黄网 | 欧美中文字幕在线播放 | 色花堂国产精品第二页 | 青青青青娱乐 | 亚洲成人免费看 | 色综合小说天天综合网 | 中国黄色毛片 大片 | 天堂v亚洲国产v一区二区 | 亚洲欧美日韩一区高清中文字幕 | 天天躁夜夜躁狠狠躁2021西西 | 日本高清午夜色wwwσ | 欧美综合图区 | 色综合综合色综合色综合 | 日本一区二区三区视频在线 | 最新韩国理论片30页 | 欧美一区二区三区婷婷月色 | 婷婷色爱区综合五月激情韩国 | 日韩欧美精品在线 | 羞羞漫画在线阅读页面漫画入口页面弹窗无限 | 亚洲成a人片77777kkkk | 亚洲产国偷v产偷v自拍色戒 | 亚洲久草 | 中日韩一线二线三线视频 | 一二三四在线观看免费高清网 | 天天弄| 天天色天天草 | 亚洲欧美亚洲 | 日韩午夜| 日韩视频免费 | 青青草原国产在线 | 天堂在线最新版www中文 | 青青青久久久 | 日本一道本在线 | 色综合久久综合欧美综合网 |