public static ICoordinationBuilder UseInMemoryStorage(this ICoordinationBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.UseCoordinationStorage(BuildInMemoryCoordinationStorage); return(builder); }
public static ICoordinationBuilder UseDefaultCoordinationStorage(this ICoordinationBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.UseCoordinationStorage <CoordinationStorage>(); return(builder); }
public static ICoordinationBuilder UseDatabase(this ICoordinationBuilder builder, IFilterableDatabase database) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (database == null) { throw new ArgumentNullException(nameof(database)); } builder.Services.UseCoordinationStorage(p => BuildCoordinationStorage(p, database)); return(builder); }
public static ICoordinationBuilder UseCoordinationStorage <TCoordinationStorage>(this ICoordinationBuilder builder) where TCoordinationStorage : class, ICoordinationStorage, ISessionStorage { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.UseCoordinationStorage <TCoordinationStorage>(); return(builder); }