我正在尝试注册ISetting与Windsor容器共享相同接口的几种类型.
澄清:ISetting界面不需要任何实现.它的唯一目的是帮助在装配体中找到设置类型.否则,这些设置类型不以任何方式,形状或形式相互关联.
通常我会逐行创建这些类型的代码:
var settingsManager = new SettingsManager();
var applicationSettings = settingsManager.LoadSettings<ApplicationSettings>();
var emailSettings = settingsManager.LoadSettings<EmailSettings>();
Run Code Online (Sandbox Code Playgroud)
但我想按惯例注册这些组件,所以我不必手动完成.
到目前为止,我在WindsorInstallers中有以下代码:
container.Register( Classes.FromAssemblyContaining<ISetting>()
.BasedOn<ISetting>()
...help...
);
Run Code Online (Sandbox Code Playgroud)
澄清:设置将在类中用作具体类型(见下文)
public class Service2
{
private readonly EmailSettings _settings;
public Service2(EmailSettings settings)
{
_settings = settings;
}
public void Awesome()
{
Console.WriteLine(_settings.Value);
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标:尽管我可以逐个将所有设置类型注入容器,但我正在寻找一种解决方案,我可以找到并注册从ISetting使用一个(可能是两个)语句继承的所有类型.
我有一个使用 AWS ECS Fargate 在 Linux 容器上运行的 .NET Core 应用程序。
如何使用集成安全性从该应用程序连接到 SQL Server?