首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net会话状态模式"SQLServer“

asp.net会话状态模式"SQLServer“
EN

Stack Overflow用户
提问于 2013-03-13 16:39:41
回答 5查看 39.4K关注 0票数 15

“我的网站是实时的。此问题与在实时服务器上而不是在本地主机上配置会话超时有关。”

我遇到了会话过期太快的问题。链接仅需2-5分钟。我尝试了很多方法,最后决定将会话存储在"SQL Server“模式下

在我的web.config文件中,我有以下代码:

代码语言:javascript
复制
<sessionState mode="SQLServer" cookieless="false" timeout="45"
sqlConnectionString="data source=xxx.xx.xx.xxx;uid=xxxxxxx;pwd=xxxxxxxx"/>

我有在服务器上的ASPState表所需的所有表。你可以从下面的图像中看到它。

但是当我运行我的应用程序时,它抛出了下面的错误:

无法使用SQL server,因为Sql Server上未安装ASP.NET 2.0版会话状态,或者ASP.NET没有运行dbo.TempGetVersion存储过程的权限。如果尚未安装ASP.NET会话状态架构,请安装ASP.NET会话状态SQL Server 2.0版或更高版本。如果已安装架构,请向ASP.NET应用程序池标识或sqlConnectionString属性中指定的SQL Server用户授予对Sql Server存储过程的execute权限。

错误图像:

我不能理解确切的问题以及我如何解决它。任何帮助都将不胜感激。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-13 17:13:40

在树中打开“可编程性”,并首先检查dbo.TempGetVersion是否存在。您可能没有安装正确的架构。

票数 5
EN

Stack Overflow用户

发布于 2014-04-30 22:27:12

为了让它为我工作,我使用以下选项运行该命令。

代码语言:javascript
复制
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -S . -E -ssadd -sstype p

我相信-ssadd选项(“添加对SQL Server模式会话状态的支持”)。是导致它正确设置存储过程的原因。请参阅此link以完成选项列表。

票数 36
EN

Stack Overflow用户

发布于 2018-12-20 21:35:30

所有这些信息都非常有价值,但还有一些更有价值的笔记,这取决于你的情况。

如果您运行该向导,则它不会使用-ssadd标志运行。-ssadd标志是创建dbo.TempGetVersion过程和其他过程的标志。

如果您要访问自定义服务器/数据库,则需要按如下方式运行该程序...

代码语言:javascript
复制
aspnet_regsql.exe -S YourServerName -d YourDatabaseName -ssadd -E -sstype c

  • -S是您的服务器名称标志
  • -D是您的数据库名称标志
  • -ssadd增加了对SQLServerm模式会话状态的支持。如果需要删除这些过程,请运行-ssremove。
  • -E使用当前的Windows凭据连接到目标数据库以进行设置。
  • -sstype c表示这是一个自定义数据库名称。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15380423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档