コード例 #1
0
 public RedisInformationMiddleware(RequestDelegate next,
                                   IConnectionMultiplexer connection,
                                   IOptions <RedisInformationOptions> options)
 {
     _next       = next;
     _connection = connection;
     _options    = options.Value;
 }
コード例 #2
0
        /// <summary>
        /// 使用Redis服务器信息中间件 自定义分支路由
        /// </summary>
        /// <param name="app"></param>
        /// <param name="path">分支路由</param>
        /// <param name="setup">配置项</param>
        public static void UseRedisInformation(this IApplicationBuilder app, [NotNull] PathString path, Action <RedisInformationOptions> setup)
        {
            RedisInformationOptions options = new RedisInformationOptions();

            setup?.Invoke(options);

            Func <HttpContext, bool> predicate = context =>
            {
                return(context.Request.Path.StartsWithSegments(path, out var remaining));
            };

            app.MapWhen(predicate, b => b.UseMiddleware <RedisInformationMiddleware>(Options.Create(options)));
        }