/// <summary> /// Initializes a new instance of the <see cref="ApiUriDispatcher{ApiRouteProvider}"/> class. /// </summary> public ApiUriDispatcher(TApiRouteProvider apiRouteProvider, IA10HealthReport a10HealthReport) { this.ApiRouteProvider = apiRouteProvider; this.A10HealthReport = a10HealthReport; this.LastLoggerTime = DateTime.Now; }
/// <summary> /// Initializes a new instance of the <see cref="ApiRouteProvider"/> class. /// </summary> public ApiRouteProvider(IA10HealthReport a10HealthReport) { }
/// <summary> /// 启用Api路由健康报告信息 /// </summary> /// <param name="startup">启动信息</param> /// <param name="a10HealthReport">A10报告</param> /// <param name="secondInterval">每个A10文件的检查间隔,以秒为单位,最小时间为10秒</param> /// <param name="initApiRouteProviderMethod">初始化路由提供者</param> /// <param name="loggerBuilder">日志</param> /// <returns></returns> public static ApplicationStartup UseApiUriRouteDispatch(this ApplicationStartup startup, int secondInterval, IA10HealthReport a10HealthReport, Func <IA10HealthReport, IEnumerable <IApiRouteProvider> > initApiRouteProviderMethod, Func <ILoggerBuilder> loggerBuilder) { startup.RegisterStartService(new StartupService(secondInterval < 10 ? 10 : secondInterval, initApiRouteProviderMethod, a10HealthReport) { LoggerBuilder = loggerBuilder }); return(startup); }
/// <summary> /// Initializes a new instance of the <see cref="StartupService"/> class. /// </summary> public StartupService(int secondInterval, Func <IA10HealthReport, IEnumerable <IApiRouteProvider> > initApiRouteProvider, IA10HealthReport a10HealthReport) { this.secondInterval = secondInterval; this.initApiRouteProvider = initApiRouteProvider; this.a10HealthReport = a10HealthReport; }