C# 如何切换到会话的SQL server状态。。。。我犯了一个错误
由于一些进程内问题,我尝试切换到SQL状态会话 我检查了我的CMS数据库,发现像aspnet_XXX这样的表已经存在。为了确保这一点,我还创建了默认数据库“aspnetdb”,并比较了表aspnet\u xxx,检查它们是否已经存在于我的CMS\u DB\u DEV中。。。它们都已经存在了 然后我转到web.config并通过IIS配置sessionstate connectionstring,它如下所示:C# 如何切换到会话的SQL server状态。。。。我犯了一个错误,c#,asp.net,sql-server,C#,Asp.net,Sql Server,由于一些进程内问题,我尝试切换到SQL状态会话 我检查了我的CMS数据库,发现像aspnet_XXX这样的表已经存在。为了确保这一点,我还创建了默认数据库“aspnetdb”,并比较了表aspnet\u xxx,检查它们是否已经存在于我的CMS\u DB\u DEV中。。。它们都已经存在了 然后我转到web.config并通过IIS配置sessionstate connectionstring,它如下所示: <system.web> <sessionState
<system.web>
<sessionState allowCustomSqlDatabase="true"
cookieless="UseCookies" mode="SQLServer"
sqlConnectionString="Server=localhost;Database=cms_db_dev;User ID=sa;Password=xxxx"
timeout="20" />
现在,当我运行我的应用程序时,我得到一个错误:
无法使用SQL Server,因为ASP.NET 2.0版会话状态为
未安装在SQL server上。请安装ASP.NET会话状态
SQL Server 2.0或更高版本
我使用W7 pro,安装了IIS 7.5
我查看了这两个链接,其中提到了问题,但没有希望:
在我的本地主机上完成这项工作后,我将在生产机器上执行同样的操作。表似乎已经存在,所以我只需要配置web.config
我可能不会删除现有的表(比如aspnet_xxx),因为它是由Dotnetnuke CMS系统使用的。。。但我可以在本地主机上测试
那么我错过了什么 听起来生产环境可能只有您需要的1.1版本的DB结构。您可以使用-ssadd标志和适当的参数运行2.0 aspnet_regsql.exe以创建新版本 有几点:
ASPState
开头,而不是aspnet
——这些名称用于各种提供者存储(成员资格、角色、配置文件等)aspnet_regsql -ssadd -sstype c -s LocalHost -d cms_db_dev -u sa -P XXXXX
这将:
向使用-ssadd
选项指定的Sql Server添加对SQLServer模式会话状态的支持-s
创建一个自定义的持久化会话状态数据库,其中数据和存储的进程都存储在同一个数据库中(与将所有数据存储在名为-sstype c
的数据库中的ASPState
相反,或与将在p
数据库中创建存储过程但将数据存储在TempDB中的ASPState
相反)t
(或-s Localhost
)使用本地数据库实例,根据需要进行更新-s.\
要添加表和存储过程的自定义数据库的名称d cms\u db\u dev
创建数据库的有效凭据,如果在本地主机上,则可能使用-u sa-P XXXXX
来使用windows凭据-E