using NCC; using NCC.Dependency; using System; namespace Microsoft.AspNetCore.Builder { /// /// 应用中间件拓展类(由框架内部调用) /// [SuppressSniffer] public static class AppApplicationBuilderExtensions { /// /// 注入基础中间件(带Swagger) /// /// /// 空字符串将为首页 /// /// public static IApplicationBuilder UseInject(this IApplicationBuilder app, string routePrefix = default, Action configure = null) { // 载入中间件配置选项 var configureOptions = new InjectConfigureOptions(); configure?.Invoke(configureOptions); app.UseSpecificationDocuments(routePrefix, configureOptions?.SpecificationDocumentConfigure); return app; } /// /// 注入基础中间件 /// /// /// public static IApplicationBuilder UseInjectBase(this IApplicationBuilder app) { return app; } /// /// 添加应用中间件 /// /// 应用构建器 /// 应用配置 /// 应用构建器 internal static IApplicationBuilder UseApp(this IApplicationBuilder app, Action configure = null) { // 调用自定义服务 configure?.Invoke(app); return app; } } }