/// <summary>
        /// Adds Rin extension services for MagicOnion.
        /// </summary>
        /// <param name="builder"></param>
        public static IRinBuilder AddMagicOnionSupport(this IRinBuilder builder)
        {
            builder.AddRequestBodyDataTransformer <MagicOnionRequestBodyDataTransformer>();
            builder.AddResponseBodyDataTransformer <MagicOnionResponseBodyDataTransformer>();

            return(builder);
        }
Esempio n. 2
0
        public static IRinBuilder UseRedisStorage(this IRinBuilder builder, Action <RedisRecordStorageOptions>?configure = null)
        {
            builder.Services.AddOptions <RedisRecordStorageOptions>();
            builder.Services.Configure <RedisRecordStorageOptions>(configure);

            builder.Services.Replace(new ServiceDescriptor(typeof(IRecordStorage), typeof(RedisRecordStorage), ServiceLifetime.Singleton));

            return(builder);
        }
Esempio n. 3
0
        /// <summary>
        /// Adds Rin extension services for Entity Framework Core diagnostics.
        /// </summary>
        /// <param name="builder"></param>
        public static IRinBuilder AddEntityFrameworkCoreDiagnostics(this IRinBuilder builder)
        {
            builder.Services.AddHostedService <EntityFrameworkCoreRelationalDiagnosticsHostedService>();

            return(builder);
        }
Esempio n. 4
0
 /// <summary>
 /// Adds a <see cref="IResponseBodyDataTransformer"/> implementation to Rin services.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IRinBuilder AddResponseBodyDataTransformer <T>(this IRinBuilder builder) where T : class, IResponseBodyDataTransformer
 {
     builder.Services.AddSingleton <IResponseBodyDataTransformer, T>();
     return(builder);
 }