我想改变我的启动类,以扫描系统中实现接口的所有类,然后自动注册它们。我用斯克鲁特只是为了让生活更轻松。
通常,使用类似于以下代码的代码可以很简单地实现这一点:
services.Scan(scan => scan
.FromAssemblyOf<ISomething>()
.AddClasses()
.AsImplementedInterfaces()
.WithTransientLifetime());我的问题是我不能用选项模式来做这件事。
在我的创业公司里,我通常会有这样的事情:
services.Configure<GatewaySettings>(
options => _config.GetSection(nameof(GatewaySettings)).Bind(options));它允许我将类注入到如下构造函数中:
public Something( IOptions<GatewaySettings> myOptions)
{
use(myOptions.Value);
}是否有一种方法(使用Scrutor很好,但我愿意接受其他建议)来注册我的所有选项-类。我可以通过命名约定或用一个空接口来装饰它们,从而在代码库中很容易地识别它们。我的问题是,我不知道如何用扫描的类调用"services.Configure()“。
我正在有效地寻找实现这一目标的方法:
services.Configure(, myScannedType,
options => _config.GetSection(myScannedType.GetName()).Bind(options));https://stackoverflow.com/questions/67600368
复制相似问题