我已经构建了一个Asp.net核心API,当我开始在 Linux ubuntu 20.4 上进行开发时,该应用程序冻结了,甚至没有引发任何异常 这是我的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
namespace passman.core
{
public class DbInitializer
{
public static async Task SeedUser(UserManager<ApplicationUser> userManager)
{
try
{
var systemUser = await userManager.FindByNameAsync("system");
if (systemUser == null)
{
systemUser = new ApplicationUser
{
DateOfBirth = DateTime.Now,
Email = "system@domain.com",
UserName = "system",
FullName = "Sys Admin"
};
await userManager.CreateAsync(systemUser, "ABCD1230@abcd");
}
}
catch (Exception exception)
{
Console.WriteLine(exception);
}
}
}
}
在调试应用程序时,一旦到达此语句var systemUser = await userManager.FindByNameAsync("system");
这显然是在调用我正在使用身份进行身份验证/授权的数据库,但这是在对数据库执行任何查询时发生的。
但是,使相同的代码运行旧版本的Ubuntu LTS 18.04并在Manjaro 20.0.3和Windows 10上进行了测试的奇怪之处在于,它按预期工作。
数据库信息:
Microsoft SQL Server 2016 (SP1-GDR) (KB4505219) - 13.0.4259.0 (X64)
Jun 15 2019 19:20:12
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)
答案 0 :(得分:0)
将我的SQL server
从2016年升级到2017年,现在可以运行了,可能是dotnet core
上的Ubuntu 20.04
的错误