国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET實現多域名多網站共享Session值的方法

2024-07-10 13:24:46
字體:
來源:轉載
供稿:網友
ASP.NET實現多域名多網站共享Session值
1、實現功能:可設置哪些站點可以共享Session值,這樣就防止別人利用這個去訪問
  要想實現這個功能就必須得把Session值 放入數據庫中, 所有我們先在VS命令工具下注冊一個
命名如下:aspnet_regsql.exe -S [數據庫服務地址] -E -ssadd 具體格式請參考 /?
添加成功后我們休要對ASP.NET生成的存儲過程進行簡單的修改,
打開ASP.net為我們創建的數據庫“ASPState” 找到存儲過程“TempGetAppID”
然后修改存儲過程如下:

復制代碼 代碼如下:


USE [ASPState]
GO
/****** Object: StoredProcedure [dbo].[TempGetAppID] Script Date: 11/21/2011 16:15:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[TempGetAppID]
@appName tAppName,
@appId int OUTPUT
AS
SET @appName = LOWER(@appName)
SET @appId = NULL
set @appId=640732509 --這個是我自己測試時寫死的 你可以通過系統數據庫tempdb中的ASPStateTempApplications查詢到站點appId 記住只有當網站的Seeion配置是數據庫中 而且保存過一次Session值才能查詢的到
/*
--SELECT @appId = AppId
--FROM [tempdb].dbo.ASPStateTempApplications
--WHERE AppName = @appName
以上注釋辦法為原來ASP.net 自動生成的
*/
IF @appId IS NULL BEGIN
BEGIN TRAN
SELECT @appId = AppId
FROM [tempdb].dbo.ASPStateTempApplications WITH (TABLOCKX)
WHERE AppName = @appName
IF @appId IS NULL
BEGIN
EXEC GetHashCode @appName, @appId OUTPUT
INSERT [tempdb].dbo.ASPStateTempApplications
VALUES
(@appId, @appName)
IF @@ERROR = 2627
BEGIN
DECLARE @dupApp tAppName
SELECT @dupApp = RTRIM(AppName)
FROM [tempdb].dbo.ASPStateTempApplications
WHERE AppId = @appId
RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.',
18, 1, @appName, @dupApp)
END
END
COMMIT
END
RETURN 0


這個就可以共享了,但我們還得解決一個問題就是替換客戶端的SeeionID ,我們可以添加一個處理程序來利用SessionIDManager類來進行處理,
實例我就不寫了,我值寫個替換的方法

復制代碼 代碼如下:


SessionIDManager sessionid = new SessionIDManager();
bool a;
bool b;
sessionid.SaveSessionID(this.Context, "這里是SeeionID", out a, out b);


最后修改配置文件
在System.Web節點下添加 <sessionState mode="SQLServer" sqlConnectionString="data source=數據連接;user id=sa; password=123456;" ></sessionState>
ok 一切搞定 你去試試把
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丰县| 古蔺县| 广元市| 蛟河市| 余江县| 文安县| 清水县| 鄂托克旗| 金堂县| 金华市| 桂东县| 泊头市| 沂源县| 红河县| 博客| 灵丘县| 大丰市| 石林| 德钦县| 沐川县| 都匀市| 磐安县| 黔南| 临清市| 新密市| 莎车县| 黄山市| 威远县| 顺平县| 阜平县| 彭水| 伊金霍洛旗| 双峰县| 洪江市| 调兵山市| 崇礼县| 外汇| 稻城县| 肥东县| 菏泽市| 青浦区|