首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET 6辅助服务中的连接字符串

.NET 6辅助服务中的连接字符串
EN

Stack Overflow用户
提问于 2021-12-02 12:14:13
回答 1查看 3.2K关注 0票数 2

我试图用用appsetting.json编写的连接字符串连接到数据库。我试着把它传递给UseSqlServer(“.”)在AddDbContext中,但是它不起作用。当我在上下文类中编写它时,它可以工作。因此,程序运行时没有错误,但它没有连接到Db。

有人知道这里出了什么问题吗?下面是Program.cs代码:

代码语言:javascript
复制
using IHost host = Host.CreateDefaultBuilder(args)
    .UseWindowsService(options =>
    {
        options.ServiceName = "Subscriber Service";
    })
    .ConfigureServices(services =>
    {
        services.AddHostedService<DeliveryService>()
            .AddSingleton<IQueueService, QueueService>()
            .AddSingleton<IMailTransport, MailTransport>()
            .AddSingleton<IHttpTransport, HttpTransport>()
            .AddDbContext<nbiot_core_svctestContext>(
            options => options.UseSqlServer("name=ConnectionStrings:DefaultConnection"));
    })
    .Build();

await host.RunAsync();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-02 12:49:18

IHostBuilder.ConfigureServices接受带有两个参数的操作,第一个参数是HostBuilderContext公开配置属性(您使用的配置属性来自HostingHostBuilderExtensions),因此尝试:

代码语言:javascript
复制
.ConfigureServices((ctx, services)=>
{
    services
        ...
        .AddDbContext<nbiot_core_svctestContext>(
        options => options.UseSqlServer(ctx.Configuration.GetConnectionString("DefaultConnection"));
})
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70199266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档