Usermanager发现异步错误

时间:2018-03-03 19:49:25

标签: c# sql asp.net-identity

我试图使用Oauth令牌在.net api上进行身份验证,当我访问/ auth路由时出现以下错误:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:50 - 发生本地数据库运行时错误。   指定的LocalDB实例不存在。

我整天试图解决这个问题,但没有成功。如果我得到一些帮助,我会很高兴。

所以,这是我得到错误的代码:

   var allowedOrigin = "*";

        context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { allowedOrigin });

        var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>();
        AspnetUserService service = new AspnetUserService();


        ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password); <---- here, when i send via Postman, i'll wait ~2 minutes to get a response. When the response arrived, this above error appears.

奇怪的是,我试图在带有身份的数据库上进行新注册并且它有效。我试图从DB中获取一些值,也一样。

我在本地运行SQL服务器,这是我的两个连接字符串:

<add name="AuthContext" connectionString="Server=localhost;Initial Catalog=SeeMe2;User ID=SeeMe2;Password=password;" providerName="System.Data.SqlClient" />
<add name="SeeMe2Entities" connectionString="metadata=res://*/Context.SeeMe.csdl|res://*/Context.SeeMe.ssdl|res://*/Context.SeeMe.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=SeeMe2;persist security info=True;user id=SeeMe2;password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我试图调试代码,所有变量似乎都有正确的值。 有什么建议?非常感谢!

2 个答案:

答案 0 :(得分:1)

您的SQL连接字符串有问题。

您的连接字符串是:

<add name="AuthContext" connectionString="localhost;Initial Catalog=SeeMe2;User ID=SeeMe2;Password=password;" providerName="System.Data.SqlClient" />

您没有服务器和数据库属性。

正确的连接字符串是:

<add name="AuthContext" connectionString="Server=localhost;Database=SeeMe2;User ID=SeeMe2;Password=password;" providerName="System.Data.SqlClient" />

有关连接字符串的更多信息是here

同时检查您的SeeMe2Entities连接字符串。

我可以看到它在连接部分的值不正确(您也错过了服务器和数据库)。

答案 1 :(得分:0)

缺少AuthContext连接字符串Server属性。它应该是这样的。

<add name="AuthContext" connectionString="Server=localhost;Initial Catalog=SeeMe2;User ID=SeeMe2;Password=password;" providerName="System.Data.SqlClient" />