将 ASP.net Core 2.0 部署到 windows 服务器

Deploying ASP.net Core 2.0 to windows server

我已将 asp.net 核心 2.0 应用程序部署到安装了 MsSQL 2017 的 windows 服务器 2012。当我请求与数据库相关的方法时出现以下错误。

appsettings.json内容为:

 {
    "ConnectionStrings": {
        "DefaultConnection": "Server=MGSERVER2012\SQLEXPRESS;Database=TestingCoreIdentity;Trusted_Connection=True;MultipleActiveResultSets=true"
    },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

错误详情:

所以我在我的应用程序中做了什么(核心 1.0,在 2.0 中应该类似)

已在配置中注册 -

  public void ConfigureServices(IServiceCollection services)
        {
            #region connection
            services.AddDbContext<TWCStoreContext>(options => options.UseSqlServer(Configuration.GetValue<string>("Data:DefaultConnection")));
            #endregion
            services.Configure<ConfigData>(Configuration.GetSection("Data"));
         }

在上下文文件中 -

public partial class TWCStoreContext : DbContext
    {
        private readonly IOptions<ConfigData> _ConfigData;

        public TWCStoreContext(DbContextOptions<TWCStoreContext> options, IOptions<ConfigData> ConfigData)
       : base(options)
        {
            _ConfigData = ConfigData;
        }

  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(_ConfigData.Value.DefaultConnection);
        }

    }

配置 -

public class ConfigData
    {
        public string DefaultConnection{ get; set; }
    }

确保您没有遗漏任何东西。

需要在Startup.cs ConfigureServices 方法中指定连接字符串名称,如下所示。将您的应用程序 DBContext 替换为 "YourDBContext"

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<YourDbContext>(op => p.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));

    }

我找到了问题的答案: 我在完全许可的情况下在管理工作室中创建了新用户,并在 appsettings.json

中使用了此连接字符串
 "DefaultConnection": "Server=MGSERVER2012\SQLEXPRESS;Database=xxx;MultipleActiveResultSets=true;Persist Security Info=True;User ID=AspCoreUser;Password=Password@123" 

我还为 appsettings.json 的用户组授予 windows 权限。