asp.net – 自动修复与’ASPStateTempSessions’相关的tempdb错
根据
this how-to,我已经在我的XP-SP3开发盒上为SQL Server 2008 Express成功配置了IIS以保存ASP.NET会话状态信息.我只是在使用SQL Server,因为否则在每次重新编译时,我都会丢失令人讨厌的会话状态(必须重新登录).但是,我面临一个恼人的问题,因为每次重新启动SQL时都会出现此错误,有时还有一两个非常相似的朋友:
The SELECT permission was denied on the object 'ASPStateTempSessions',database 'tempdb',schema 'dbo'. 要修复错误,我只需打开Management Studio并编辑我在ASPState数据库上使用的登录/ dbo的用户??映射,然后将tempdb重新添加到具有除拒绝权限之外的所有用户.显然,一旦有了正确的权限,ASP.NET就能够自动创建它使用的表.它只是无法运行CreateTempTables sproc,直到有正确的安全性. 问题…… 我现在并不关心如何在重新启动时保持临时数据,但我想不必经过这个手动步骤只是为了让我的web应用程序在localhost上运行,localhost使用会话状态变量.我想可以在SQL Server中使用某种存储过程来在服务启动时完成该机器的任务,而不必手动完成.我接受这样的答案作为快速解决方案.但是,我也假设有更好的推荐配置或其他东西.没有在如何指导或在StackOverflow上的其他地方看到这个问题的答案. 解决方法
两个答案似乎都有效;但是对于微软的大多数事情,它都在设置中……
首先使用以下命令卸载ASPState数据库:
注意: -E表示您要使用集成安全连接. -S通知要使用的SQL服务器和SQL实例,以及“.” (点)指定默认本地实例 然后使用以下命令重新安装:
注意: sstype有三个选项,t | p | c …第一个“t”,告诉安装程序托管ASPState数据库中的所有存储过程,以及tempdb中的所有数据.第二个选项“p”告诉安装程序将数据持久保存到ASPState数据库.最后一个选项“c”允许您指定不同的“自定义”数据库以保留会话状态数据. 如果使用“-sstype p”重新安装,则只需要为正在建立连接的用户(在大多数情况下,IIS中的应用程序池的标识)提供datareader / datawriter到ASPState数据库. 持久化数据的额外好处是即使在重新启动服务后会话状态也会保留.唯一的缺点是您需要确保代理清理作业定期修剪旧会话(默认情况下,每分钟执行一次). 重要: 如果您正在运行群集,则必须保留会话数据.你唯一的选择是使用sstype’p’或’c’. 希望这能够揭示这个问题! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 你可以更新部分视图而不是全页信息吗?
- asp.net-core – 通过URL访问ASP.NET 5 View Component
- asp.net-mvc-3 – ASP.NET MVC 3本地化验证消息在我的机器上
- asp.net-ajax – 找不到带ID的UpdatePanel
- asp.net-mvc-4 – MVC4如何设置cookie然后重定向到一个动作
- 如何在codenameone中使用ASP.Net wsdl web服务
- 没有更新过期的ASP.NET Cookie更新值?
- 通过ASP.NET Web应用程序上载500MB文件
- asp.net-mvc – 如何将Ninject与HttpClient一起使用
- asp.net-core – 如何为所有视图设置布局,基类和使用?
- asp.net-mvc-3 – 为mvc创建一个html帮助器
- asp.net-mvc – 失败的ASP.NET MVC路由.这是一个
- 向.NET电子邮件添加附件
- asp.net – asp mvc“一个有潜在危险的Request.F
- asp.net – 如何在MVC 5中为OwinContext设置Time
- asp.net – 我的自定义httpModule没有被MVC检测到
- asp.net-mvc – ASP.NET MVC3自定义不显眼的客户
- asp.net-mvc – ASP.NET MVC是否为区域创建默认路
- asp.net-mvc – razor要求;在做什么时使用(Html.
- .net – 什么是类的默认访问修饰符?