当以下面的方式注册configuration对象时,它获得了哪个生命周期?它是单例的,瞬态的还是作用域的?
{
services.Configure<SomeConfiguration>(configuration.GetSection(nameof(SomeConfiguration)));
}
这就是我如何将配置添加到我的服务类中
public class SomeService: ISomeService
{
public SomeService(IOptionsMonitor<SomeConfiguration> configurat
在阅读了ASP.NET核心单例服务类之后,我创建了一个作为HttpClient提供程序的鼓励重用HttpClient实例核心服务类。但是,我也希望确保BaseAddress属性与配置中指定的值保持一致,因此我添加了对IOptionsMonitor的依赖关系,以便随时更新配置时重新设置BaseAddress属性。
HttpClientProvider
public class MachineDatabaseHttpClientProvider
{
public HttpClient Client
{
get
{
try
我使用的是ASP.NET Core2.0,在Main方法中有如下配置代码:
public static void Main(string[] args)
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile(
当我试图解析IOptionsSnapshot服务时,我会得到以下异常:
'Microsoft.Extensions.Options.IOptionsSnapshot`1Test.MyOptions‘’‘无法从根提供程序解析作用域服务。
如果有人能告诉我问题,我会把测试代码写在下面。
主
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using System.IO;
class P
我在用Autofac注射IOptionsMonitor时有问题。
在IOptions中,一切都能正常工作,但我无法使用IOptionsMonitor使其正常工作。
对于IOptions注册如下:
var cfg = _configuration.GetSection("GlobalAppSettings").Get<GlobalAppSettings>();
builder.Register(c => Options.Create(cfg)).SingleInstance();
现在在构造函数中:
public class ConfigurationReade
当使用Autofac模块时,与OptionsConfigurationServiceCollectionExtensions的方法OptionsConfigurationServiceCollectionExtensions等效的是什么?
我的ConfigureServices方法如下所示,但我想将services.Configure<MyOptions>(Configuration.GetSection("MyOptions"))移动到MyModule。
public IServiceProvider ConfigureServices(IServiceColle
我有类AbClass,它使用asp.net内核内置的IOptionsSnapshot<AbOptions> (动态配置) DI实例。现在我想测试这门课。
我试图在测试类中实例化AbClass类,但我不知道如何实例化IOptionsSnapshot<AbOptions>的实例以注入AbClass的构造函数。
我尝试使用Mock<IOptionsSnapshot<AbOptions>>.Object,但是我需要为这个实例设置一些值,因为在AbClass中,代码使用的是这个值(var x = _options.cc.D1)。
所以我有个密码
var b
嗨,我在使用IHostedService为我的后台服务运行一个长时间的任务时遇到了一个问题,一开始它确实工作得很好,但在长期运行中,后台服务突然停止,出现了这个线程退出的代码:
The thread 10824 has exited with code 0 (0x0).
The thread 12340 has exited with code 0 (0x0).
The thread 9324 has exited with code 0 (0x0).
The thread 11168 has exited with code 0 (0x0).
The thread 11616 has exi
我有如下所示的工作代码,其中我的业务逻辑正在使用配置,例如-
public MyBusinessLogic(MyConfiguration _myConfiguration)
{
// using _myConfiguration
}
配置通过startup.cs传递,如
public override void ConfigureServices(IServiceCollection services)
{
base.ConfigureServices(services);
var **myConfiguration** = new MyConfiguration()
我正在使用PostgreSQL,我的ApplicationDbContext类似于:
public class ApplicationDbContext : DbContext
{
private readonly DatabaseSettings _databaseOptions;
public ApplicationDbContext() { }
public ApplicationDbContext(IOptions<DatabaseSettings> databaseOptions)
{
_databa
典型的Options是单例的。但是,我正在从数据库中构建选项,其中一个选项属性是密码,它每个月都在更改。所以我想要创建选项的Scoped实例。我正在像下面这样使用IConfigureOptions<T>从数据库中构建选项
public class MyOptions
{
public string UserID {get;set;}
public string Password {get;set;
}
public class ConfigureMyOptions : IConfigureOptions<MyOptions>
{
private r
我正在为我的服务开发一个web api服务和一些扩展。我需要一些自定义选项,所以我尝试使用DI机制。我添加了一个命名选项,如下所示。但期权属性赋值线从未命中。
services.AddOptions<TCustomPOCOClass>("PassLineDataTrackerOptions")
.Configure(o =>
{
o.LocationEventInterval = TimeSpan.FromSeconds(5); // this line never hits
});