- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 WorkerService (.net core 3.1) 的库存项目模板我无法获得 IOptions<x>
去工作。
这是一个最小的复制:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseConsoleLifetime()
.ConfigureServices((hostContext, services) =>
{
services.AddOptions();
services.AddHostedService<Worker>();
});
}
邮件设置
public class mailsettings
{
public string smtpserver { get; set; }
}
worker
public class Worker : BackgroundService
{
private readonly mailsettings _mailsettings;
public Worker(IOptions<mailsettings> mailsettings)
{
_mailsettings = mailsettings.Value;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
Console.WriteLine($"MailSettings SmtpServer: \"{(_mailsettings.smtpserver ?? "**null**")}\"");
Console.WriteLine(Directory.GetCurrentDirectory());
await Task.Delay(1000, stoppingToken);
}
}
}
appsettings.json 和 appsettings.development.json 内容如下:
{
"mailsettings": {
"smtpserver": "mail.com"
}
}
这将写:
MailSettings SmtpServer: "null"
到控制台。应该写成
"mail.com".
我已经尝试了很多猜测...但无法得到任何结果。
最佳答案
邮件设置未配置到服务集合中,因此 DI 容器无法解析 IOPtions<mailsettings>
调用Configure<TOPtions>
关于服务集合
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseConsoleLifetime()
.ConfigureServices((hostContext, services) => {
services
.AddOptions()
.Configure<mailsettings>(hostContext.Configuration.GetSection("mailsettings"))
.AddHostedService<Worker>();
});
关于c# - .net core 3.1 WorkerService 不加载配置选项/设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60080527/
我正在尝试构建一个作为 Windows 服务运行并能够记录到应用程序事件日志的 .NET Core WorkerService。 我没有收到任何错误,也没有收到任何服务使用 sc create 然后
我该如何更改appsettings.json在 .Net Core 3.1 Worker Service 中搜索项目 我见过几个Asp.Net Core 2.*示例,但没有用于 3.1 . 下面是我的
我花了一整天的时间试图找到一些东西来解释为什么当我在 Azure 中运行 WorkerService 时在应用程序见解中没有看到任何跟踪、调试或信息消息。 WorkerService 托管在我们企业空
我花了一整天的时间试图找到一些东西来解释为什么当我在 Azure 中运行 WorkerService 时在应用程序见解中没有看到任何跟踪、调试或信息消息。 WorkerService 托管在我们企业空
使用 WorkerService (.net core 3.1) 的库存项目模板我无法获得 IOptions去工作。 这是一个最小的复制: public class Program { pub
使用 WorkerService (.net core 3.1) 的库存项目模板我无法获得 IOptions去工作。 这是一个最小的复制: public class Program { pub
我是一名优秀的程序员,十分优秀!