gpt4 book ai didi

asp.net - 如何回收存储在 SQL Server 中的 ASP.NET session ?

转载 作者:行者123 更新时间:2023-12-04 16:40:49 26 4
gpt4 key购买 nike

所以我们刚刚开始使用存储在 SQL 服务器中的 ASP.NET session - 它们非常简洁。但是,由于 session 现在持续跨应用程序池回收,如果我们部署新代码,这可能会给我们带来问题。有没有办法(在重新启动 SQL 服务器之外)强制在此模型中放弃所有 session (或至少应用程序池的所有 session )?

最佳答案

将其添加为 ASPState 数据库中的存储过程:

        CREATE PROCEDURE [dbo].[DeleteExpiredSessions]
AS
DECLARE @now datetime
SET @now = GETUTCDATE()

DELETE [ASPState].dbo.ASPStateTempSessions
WHERE Expires < @now

RETURN 0

然后向定期运行的 SQL Server 代理添加一个作业(我的运行在午夜),在该数据库上执行以下步骤:
dbo.DeleteExpiredSessions

这可以确保 session 到期时,即使创建它们的进程不存在,它们也会消失。如果您想在重新启动进程时摆脱它们,只需执行:
DELETE [ASPState].dbo.ASPStatsTempSessions

这将删除数据库中的所有 session 。

关于asp.net - 如何回收存储在 SQL Server 中的 ASP.NET session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com