我最近将我在本地使用的 SQL Server Express 数据库升级到 SQL Server 2012 Developer。我开始收到此错误。快速搜索会找到大量帖子,其中答案似乎是User Instance=True;
从您的连接字符串中删除。
我检查了,我的连接字符串都没有这个标志。我尝试在整个解决方案中搜索“用户实例”只是为了确保它不会出现在任何地方。更奇怪的是我没有马上得到这个错误。对数据库工作的前几个调用......
有没有其他人有过类似的经历?
这是导致我的错误的确切代码:
public class BetterAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
var roleList = Roles.Split(',');
//if the user is in one of the roles in the list
foreach (string r in roleList)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
//The error is consistently thrown here the second time this line
//executes...
if (filterContext.HttpContext.User.IsInRole(r.Trim()))
{
以下是我认为相关的配置部分:
<connectionStrings>
<add name="BioSphereContext"
providerName="System.Data.SqlClient"
connectionString="Server=fake;Database=fake;User ID=fake;Password=fake;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=true;" />
</connectionStrings>
.
.
.
<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="15">
<providers>
<add name="DefaultSessionProvider"
type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</sessionState>
.
.
.
<entityFramework>
<defaultConnectionFactory
type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
有关我的项目的更多详细信息,以防万一...
- 对比 2012
- 实体框架 5
- Azure SDK 2.0
- ASP.NET MVC 3
- .net 4.5