【问题标题】:Dotnet core api hangs on Ubuntu 20.04Dotnet 核心 api 在 Ubuntu 20.04 上挂起
【发布时间】:2020-07-01 08:04:40
【问题描述】:

我已经构建了一个 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 上进行了测试,它按预期工作。

Ubuntu 20.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)

【问题讨论】:

  • 你的数据库在同一个主机上吗?
  • 不,它是远程的,但所有三个操作系统都在同一个网络上,它们可以访问数据库服务器
  • 您可以检查数据库连接日志,无论是否建立连接。也许在最新版本的 ubuntu 中有所改变。并尝试将 .NET Core 更新到最新版本
  • 我刚刚将我的数据库服务器升级到 2017 现在它正在工作可能是 2016 的错误

标签: asp.net-core .net-core ubuntu-20.04


【解决方案1】:

将我的SQL server 从 2016 年升级到 2017 年,现在它正在工作,这可能是 Ubuntu 20.04 上的 dotnet core 的错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    相关资源
    最近更新 更多