惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 无名-小卒

IFSBrowser:一个老外的p2p软件 使用aspnet_regsql.exe 创建ASPState数据库,用来保存session会话 TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞 P2P之后是P4P NAT的完全分析及其UDP穿透的完全解决方案 SQL Server 跨服务器操作 电话呼叫转移的设置方法大全 C#开发终端式短信的原理和方法 在C#程序中实现插件架构 C#.net winform skin 皮肤大全devexpress,IrisSkin,DotNetSkin,SkinCrafter C和C++中的主要数据类型和字节大小 导出excel的另外一种方法 asp.net里导出excel表方法汇总 浅谈HOOK技术在VC编程中的应用 [Visual C++]美化VC界面(用户登录界面) - 无名-小卒 VC界面美化之按钮 - 无名-小卒 EXCEL技巧─利用函数获取工作表名 VC7转换到VC8的常见问题 - 无名-小卒 window.open打开新窗口
Asp.net中SqlServer模式Session的多站点共享会话状态 - 无名-小卒 - 博客园
无名-小卒 · 2009-04-22 · via 博客园 - 无名-小卒

先记录下过程:

1。修改配置文件

<system.web>
<!-- 让其在跨站点访问时,使SESSION能共用 -->
<httpCookies domain="CSDN.Net" />
<!-- 设置Session模式为SQLServer -->
<sessionState mode="SQLServer" sqlConnectionString="Data Source=127.0.0.1;User ID=ASPState;Password=ASPState;" timeout="60" />
</system.web>
2。修改 ASPState的TempGetAppID存储过程,让不同的站点保持同一个AppId。

因为实在找不到可以自定义AppName的方法,只有出此下策了。

/**//*

获取AppId

修改过程,使其只生成一个AppId

*/
CREATE PROCEDURE dbo.TempGetAppID
@appName tAppName,
@appId int OUTPUT
AS

SET @appName = LOWER(@appName)
SET @appId = NULL

--查询AppName对应的AppId
--次处进行了修改,使每个AppId都是一样.
SELECT top 1 @appId = AppId
FROM [tempdb].dbo.ASPStateTempApplications
--WHERE AppName = @appName

--如果没有查询到AppId
IF @appId IS NULL
BEGIN
BEGIN TRAN
--锁定模式查询
SELECT @appId = AppId
--SELECT top 1 @appId = AppId
FROM [tempdb].dbo.ASPStateTempApplications WITH (TABLOCKX)
WHERE AppName = @appName

--如果没有查询到AppId
IF @appId IS NULL
BEGIN
--获取AppName的HashCode
EXEC GetHashCode @appName, @appId OUTPUT

--插入新AppId
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
GO

网上有很多方式,但都不是我的环境所需要的

1。修改站点的IIS元数据
IIS站点有不同的Id(/LM/W3SVC/1009009583/Root,ID是1009009583,一般通常是1),此方法适合多服务器间的站点集群(同一台服务器上把站点ID修改为相同为出现站点错乱)。
有关解决服务器之间应用程序路径不同的问题的步骤信息,请参见位于 http://support.microsoft.com/default.aspx?ln=zh-cn 上的 Microsoft 知识库中的文章 325056“PRB: Session State Is Lost in Web Farm If You Use SqlServer or StateServer Session Mode”(PRB:如果使用 SqlServer 或 StateServer 会话模式则会在网络场中丢失会话状态)。