也许你的web.config中有一个错误的标签
一个正确的例子应该是:
<sessionState allowCustomSqlDatabase="true" mode="SQLServer" sqlConnectionString="data source=localhost;initial catalog=YourAspStateDatabase;user id=yourLogin;password=yourpassword" cookieless="false" timeout="30"/>
为了让这个对我有用,我使用以下选项运行命令。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -S . -E -ssadd -sstype p
我相信 -ssadd 选项(“添加对SQL Server模式会话状态的支持。”)是导致它正确设置存储过程的原因。看到这个 链接 用于完成选项列表。
-ssadd
在树中打开“可编程性”并首先检查dbo.TempGetVersion是否存在。可能你还没有安装正确的架构。
我坚持这一点,没有任何答案对我有用,以防其他人有这个问题,这是解决了我的问题,我在cmd中运行:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -C "Data Source=.\SQL2012;Integrated Security=True" -ssadd
以防其他人遇到与我相同的情况。
所有这些信息都非常有价值,但根据您的具体情况,还有一些更有价值的说明。
如果运行向导,则不会使用-ssadd标志运行。 -ssadd标志也是创建dbo.TempGetVersion过程和其他过程的原因。
如果您要访问自定义服务器/数据库,则需要运行该程序 如下...
aspnet_regsql.exe -S YourServerName -d YourDatabaseName -ssadd -E -sstype c