【问题标题】:_userManager.CreateAsync not working. No exception returned and finishes as HTTP error 500_userManager.CreateAsync 不工作。没有返回异常并以 HTTP 错误 500 结束
【发布时间】:2021-11-22 17:18:06
【问题描述】:

我在 ASP .Net Core 5 Web 应用程序上实现了 Identity。我已经创建并运行了正确的数据库迁移。但是,当我运行应用程序并尝试注册一个新帐户时

它永远不会完成 CreateAsync,最后它会显示一个显示 Http Error 500 的空白页面

【问题讨论】:

  • 你能在没有图片的情况下显示你的代码吗?
  • 我必须提到我使用的数据库是在 Docker 容器上运行的 SQL Server 数据库。 SQL Server 运行完美,我可以使用 SSMS 访问它。基本上,当我尝试在 UserManager 对象中执行 CreateAsync 方法时,就会出现问题。这个过程永远不会结束并且不返回任何异常,网页只是被重定向到一个显示 Http Error 500 的错误页面
  • 我还尝试创建一个新的 Web MVC 应用程序,选择相同的身份验证类型(个人帐户),但没有选择 Docker 支持。我搭建了用户登录和注册所需的身份页面,_userManager.CreateAsync 的部分工作正常。然后,我在项目中添加了 Docker 支持并再次测试,然后我发现 _userManager.CreateAsync 就像在原始项目中一样失败。我认为这个问题与任何形式的 Docker 有关。我的数据库是 SQL Server,它在单独的 Docker 映像中运行,我可以使用 SSMS 访问它。

标签: asp.net-core asp.net-identity asp.net-core-5.0


【解决方案1】:

看来经过多次失败,我终于找到了解决办法。

您需要更改appsettings.json中的连接字符串

来自

"DefaultConnection": "Server=localhost,1433;Initial Catalog=DatabaseName;Persist Security Info=False;User ID=sa;Password=YourPassword;",

到 "DefaultConnection": "Server=XXX.XXX.XXX.XXX,1433;Initial Catalog=DatabaseName;Persist Security Info=False;User ID=sa;Password=YourPassword;",

我也应用了这个链接中提到的解决方案:

https://tutexchange.com/how-to-customise-asp-net-core-identity/

完成这两个部分后,我现在可以注册一个用户帐户了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    相关资源
    最近更新 更多