namespace MyLib.Extensions.DependencyInjection;
public static class MyLibRegistrationExtensions
{
// possibly add another parameter to provide/setup the SDK settings
public static IServiceCollection AddMyLib(this IServiceCollection services)
{
// registration goes here
return services;
}
}
1条答案
按热度按时间g9icjywg1#
链接的代码显示了如何将generic host用于可执行项目,类库通常不应该关心托管本身。
对于库,通常的方法是提供一个方法,通常在命名空间中,如
MyLib.Extensions.DependencyInjection
,它执行所有需要的设置和注册(好的做法是调用TryAdd
而不是Add{Lifetime}
):这个方法还可以暴露操作来设置库-
public static IServiceCollection AddMyLib(this IServiceCollection services, Action<MyLibOptions> setOptions = null)
的选项(例如,能够为不同的环境配置URL,但是如果库用户的数量有限,您可以遵循“惯例”,即应该在配置中设置相应的URL)。参见: