ASP.NET在应用程序数据库中存储会话状态

蒿甲油

有一个用于配置ASP.NET应用程序以将会话信息存储到SQL Server的选项:https : //docs.microsoft.com/zh-cn/previous-versions/ms178586(v=vs.140)

但是,它需要使用一些脚本创建一个新的数据库(ASPState)

我想知道是否存在使用应用程序数据库本身提供会话存储的选项,或者是否存在任何硬编码的要求,即数据库名称应为ASPState,唯一的选择是创建另一个数据库。

和古兹曼

首先,我将在同一数据库中混合aspstate和user对象不是一个好主意。aspstate数据被大量使用,并且可能需要大量的SQL Server事务日志空间来存储永远不需要恢复的临时数据。最好在SIMPLE恢复模型中为会话状态使用专用数据库,而不是将具有不同恢复要求的数据混合在一起。

aspstate数据库的名称是可配置的。-sstype c为自定义数据库指定Aspnet_regsql参数,并使用来指定数据库名称-d例如:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Aspnet_regsql.exe" -ssadd -sstype c -d YourUserDatabase -S YourSqlInstance -E

下面是上述Windows身份验证示例给出的aspstate连接字符串示例。这可以与您的普通用户数据库连接字符串相同,但是在这里我添加了一个显式应用程序名称来唯一化连接字符串,以便会话状态使用单独的连接池。

Data Source=YourSqlInstance;Initial Catalog=YourUserDatabase;Integrated Security=SSPI;Application Name=aspstate

除非您使用特权帐户,否则还需要授予会话状态所使用的存储过程的权限(这是一种不好的做法)。以下是通过角色成员身份执行此操作的脚本:

USE YourUserDatabase;
GO
CREATE Role APSStateRole;
ALTER  ROLE APSStateRole
    ADD MEMBER [YourUserAccount]; --assuming user already exists
GRANT EXECUTE ON dbo.TempReleaseStateItemExclusive TO ASPStateRole;
GRANT EXECUTE ON dbo.TempInsertUninitializedItem TO ASPStateRole;
GRANT EXECUTE ON dbo.TempInsertStateItemShort TO ASPStateRole;
GRANT EXECUTE ON dbo.TempInsertStateItemLong TO ASPStateRole;
GRANT EXECUTE ON dbo.TempUpdateStateItemShort TO ASPStateRole;
GRANT EXECUTE ON dbo.TempUpdateStateItemShortNullLong TO ASPStateRole;
GRANT EXECUTE ON dbo.TempUpdateStateItemLong TO ASPStateRole;
GRANT EXECUTE ON dbo.TempUpdateStateItemLongNullShort TO ASPStateRole;
GRANT EXECUTE ON dbo.TempRemoveStateItem TO ASPStateRole;
GRANT EXECUTE ON dbo.TempResetTimeout TO ASPStateRole;
GRANT EXECUTE ON dbo.GetMajorVersion TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetVersion TO ASPStateRole;
GRANT EXECUTE ON dbo.GetHashCode TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetAppID TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItem TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItem2 TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItem3 TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItemExclusive TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItemExclusive2 TO ASPStateRole;
GRANT EXECUTE ON dbo.TempGetStateItemExclusive3 TO ASPStateRole;
GO

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用单数据库多模式的ASP.NET MVC多租户应用程序:从应用程序调用存储过程尝试访问dbo表

来自分类Dev

使用EF数据库优先应用程序部署ASP.NET Web API

来自分类Dev

ASP.Net身份-不同应用程序的中央用户数据库?

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

在ASP .NET MVC中存储会话数据

来自分类Dev

无法使用asp.net Web应用程序将数据插入SQL Server数据库

来自分类Dev

托管在Ubuntu上的ASP.NET 5应用程序将无法访问Azure SQL数据库

来自分类Dev

为C#MVC ASP.NET应用程序创建的默认数据库在哪里?

来自分类Dev

如何创建将信息提交到数据库的单页ASP.NET应用程序?

来自分类Dev

ASP.NET Identity 3.0-如何在MVC应用程序中创建带有用户表的数据库?

来自分类Dev

SQL会话状态-数据库SessionId与ASP.NET_SessionID值不同

来自分类Dev

ASP.NET MVC:在应用程序启动时检查数据库连接

来自分类Dev

从Web应用程序(EF,ASP.NET Identity,Azure)中删除注册,并从数据库中注册用户

来自分类Dev

使用实体框架和SQL Server数据库无法访问ASP.NET MVC Web应用程序中的数据

来自分类Dev

在asp.net核心的每个请求中,将用户数据存储在会话存储中还是从数据库中检索?

来自分类Dev

使用外部数据库登录ASP.net Web窗体应用程序

来自分类Dev

无法从ASP NET应用程序中托管的WCF数据服务访问数据库

来自分类Dev

.NET中的移动应用程序数据库

来自分类Dev

在AWS RDS上使用ASP会话状态数据库

来自分类Dev

在ASP .NET MVC中存储会话数据

来自分类Dev

在我的asp.net MVC Web应用程序中获取通用存储库+子存储库+ UnitOfWork

来自分类Dev

ASP.NET MVC Web应用程序循环访问和修改数据库的最佳实践

来自分类Dev

如何创建将信息提交到数据库的单页ASP.NET应用程序?

来自分类Dev

果园数据库中的ASP.NET应用程序用户注册

来自分类Dev

尝试使用asp.net Web应用程序将数据插入SQL Server数据库,出现错误

来自分类Dev

将 ASP.NET MVC 应用程序重新连接到移动的 MySQL 数据库的问题

来自分类Dev

是否可以共享 SQL Server 数据库以在 Asp.Net Web Forms 中存储会话状态

来自分类Dev

ASP.Net Web 应用程序连接到主机 SQL 数据库

来自分类Dev

将 asp.net 核心自包含 Web 应用程序部署到 Ubuntu。appsettings.json 中存在的数据库名称为空

Related 相关文章

  1. 1

    使用单数据库多模式的ASP.NET MVC多租户应用程序:从应用程序调用存储过程尝试访问dbo表

  2. 2

    使用EF数据库优先应用程序部署ASP.NET Web API

  3. 3

    ASP.Net身份-不同应用程序的中央用户数据库?

  4. 4

    在AWS RDS上使用ASP会话状态数据库

  5. 5

    在ASP .NET MVC中存储会话数据

  6. 6

    无法使用asp.net Web应用程序将数据插入SQL Server数据库

  7. 7

    托管在Ubuntu上的ASP.NET 5应用程序将无法访问Azure SQL数据库

  8. 8

    为C#MVC ASP.NET应用程序创建的默认数据库在哪里?

  9. 9

    如何创建将信息提交到数据库的单页ASP.NET应用程序?

  10. 10

    ASP.NET Identity 3.0-如何在MVC应用程序中创建带有用户表的数据库?

  11. 11

    SQL会话状态-数据库SessionId与ASP.NET_SessionID值不同

  12. 12

    ASP.NET MVC:在应用程序启动时检查数据库连接

  13. 13

    从Web应用程序(EF,ASP.NET Identity,Azure)中删除注册,并从数据库中注册用户

  14. 14

    使用实体框架和SQL Server数据库无法访问ASP.NET MVC Web应用程序中的数据

  15. 15

    在asp.net核心的每个请求中,将用户数据存储在会话存储中还是从数据库中检索?

  16. 16

    使用外部数据库登录ASP.net Web窗体应用程序

  17. 17

    无法从ASP NET应用程序中托管的WCF数据服务访问数据库

  18. 18

    .NET中的移动应用程序数据库

  19. 19

    在AWS RDS上使用ASP会话状态数据库

  20. 20

    在ASP .NET MVC中存储会话数据

  21. 21

    在我的asp.net MVC Web应用程序中获取通用存储库+子存储库+ UnitOfWork

  22. 22

    ASP.NET MVC Web应用程序循环访问和修改数据库的最佳实践

  23. 23

    如何创建将信息提交到数据库的单页ASP.NET应用程序?

  24. 24

    果园数据库中的ASP.NET应用程序用户注册

  25. 25

    尝试使用asp.net Web应用程序将数据插入SQL Server数据库,出现错误

  26. 26

    将 ASP.NET MVC 应用程序重新连接到移动的 MySQL 数据库的问题

  27. 27

    是否可以共享 SQL Server 数据库以在 Asp.Net Web Forms 中存储会话状态

  28. 28

    ASP.Net Web 应用程序连接到主机 SQL 数据库

  29. 29

    将 asp.net 核心自包含 Web 应用程序部署到 Ubuntu。appsettings.json 中存在的数据库名称为空

热门标签

归档