/// <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); }
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); }
/// <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); }
/// <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); }