mirror of
https://github.com/anjoy8/Blog.Core.git
synced 2024-09-20 23:48:27 +08:00
50a936bdeb
原有AppSetting 手写字符串去读取,极容易出错,扩展性也低:如果要修改或者增加值 就要到处都写 保留AppSetting基础上增加IOption方便读取配置,可反序列对象 增加IConfigurableOptions接口 可参考SeqOptions配置 配置文件名为Option或Options结尾,匹配时会忽略Option或Options SeqOptions->对应 AppSetting中Seq节点 可直接在控制器中注入使用 参考ValuesController private readonly SeqOptions _seqOptions; cto(IOptions<SeqOptions> seqOptions){ _seqOptions = seqOptions.Value; }
21 lines
641 B
C#
21 lines
641 B
C#
using Blog.Core.Common;
|
|
using Blog.Core.Common.Option.Core;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace Blog.Core.Extensions.ServiceExtensions;
|
|
|
|
public static class AllOptionRegister
|
|
{
|
|
public static void AddAllOptionRegister(this IServiceCollection services)
|
|
{
|
|
if (services == null) throw new ArgumentNullException(nameof(services));
|
|
|
|
foreach (var optionType in App.EffectiveTypes.Where(s =>
|
|
!s.IsInterface && typeof(IConfigurableOptions).IsAssignableFrom(s)))
|
|
{
|
|
services.AddConfigurableOptions(optionType);
|
|
}
|
|
}
|
|
} |