婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET實現多域名多網站共享Session值的方法

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

熱門標簽:廈門商鋪地圖標注 海外地圖標注門市標 浙江外呼系統怎么安裝 云南外呼電銷機器人系統 上海楊浦怎么申請申請400電話 陜西人工外呼系統哪家好 山西防封卡電銷卡套餐 銅川小型外呼系統運營商 地圖標注多個行程
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 一切搞定 你去試試把
您可能感興趣的文章:
  • Asp.net中處理一個站點不同Web應用共享Session的問題
  • ASP.NET中在不同的子域中共享Session的具體方法

標簽:西雙版納 萊蕪 自貢 朔州 常州 許昌 孝感 信陽

巨人網絡通訊聲明:本文標題《ASP.NET實現多域名多網站共享Session值的方法》,本文關鍵詞  ASP.NET,實現,多,域名,網站,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET實現多域名多網站共享Session值的方法》相關的同類信息!
  • 本頁收集關于ASP.NET實現多域名多網站共享Session值的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 加查县| 拜泉县| 鄂托克前旗| 连平县| 来安县| 柳州市| 齐齐哈尔市| 资源县| 津市市| 抚远县| 伊宁市| 苏尼特左旗| 年辖:市辖区| 林口县| 廉江市| 贡觉县| 汉川市| 乌拉特中旗| 田林县| 特克斯县| 郧西县| 新平| 河曲县| 马边| 安化县| 叶城县| 辽阳县| 商城县| 桃江县| 双鸭山市| 海安县| 澜沧| 衡山县| 绥化市| 琼海市| 阜阳市| 梅州市| 辽源市| 法库县| 弋阳县| 江源县|