public void RegisterServices(IServiceCollection services, IServiceRegistrationOptions options) { services .AddSingleton <IJsonSerializer, DefaultJsonSerializer>() .AddSingleton <IFileService, DefaultFileSystemService>() .AddSingleton <IRetryHandler, DefaultRetryHandler>() .AddSingleton(Switch.Create <CharacterType, Domains.Range>() .CaseWhen(CharacterType.Lowercase, new Domains.Range(97, 122)) .CaseWhen(CharacterType.Uppercase, new Domains.Range(65, 90)) .CaseWhen(CharacterType.Numerics, new Domains.Range(48, 57)) .CaseWhen(CharacterType.Symbols, new Domains.Range(33, 47))) .AddSingleton <IInstanceServiceInjector, DefaultInstanceServiceInjector>() .AddSingleton <IIs, DefaultIs>() .AddSingleton(RandomNumberGenerator.Create()) .AddSingleton <IRandomStringGenerator, DefaultRandomStringGenerator>() .AddSingleton <IHttpClientFactory, DefaultHttpClientFactory>() .AddSingleton <IGuidService, DefaultGuidService>() .AddSingleton <IMarkdownToHtmlService, DefaultMarkdownToHtmlService>() .AddSingleton <ISystemClock, SystemClock>() .AddSingleton <IClockProvider, DefaultClockProvider>() .AddSingleton(typeof(ISubject <>), typeof(Subject <>)) .AddSingleton(RegisterRecyclableMemoryStreamManager) .AddSingleton <IHashingProvider, HashingProvider>() .AddSingleton <IClaimTypeValueConvertor, DefaultClaimTypeValueConvertor>() .AddSingleton <IModifierFlagPropertyService, DefaultModifierFlagPropertyService>() .AddSingleton <IDefaultValueSetterService, DefaultValueSetterService>() .AddSingleton <IJsonWebTokenService, DefaultJsonWebTokenService>() .AddSingleton <IMemoryStreamManager, DefaultMemoryStreamManager>() .AddSingleton <ICryptographyProvider, CryptographyProvider>(); if (options.RegisterCryptographicProviders) { services .AddSingleton <IEncryptionProvider, EncryptionProvider>(); } if (options.RegisterMediatorServices) { services .AddTransient(typeof(IPipelineBehavior <,>), typeof(DefaultValidationBehaviour <,>)) .AddTransient <IMediatorService, DefaultMediatorService>(); } if (options.RegisterMessagePackSerialisers) { services .AddSingleton <IMessagePackService, DefaultMessagePackService>(); } if (options.RegisterAutoMappingProviders) { services .AddSingleton <IMapperProvider, MapperProvider>(); } if (options.RegisterCacheProviders) { services .AddScoped(serviceProvider => serviceProvider.GetRequiredService <IHttpContextAccessor>().HttpContext.Session) .AddScoped <DefaultDistributedCacheService>() .AddScoped <DefaultSessionCacheService>() .AddScoped <ICacheProviderFactory, DefaultCacheProviderFactory>() .AddScoped <ICacheProvider, DefaultCacheProvider>(); } if (options.RegisterExceptionHandlers) { services.AddSingleton <IExceptionHandlerFactory, DefaultExceptionHandlerFactory>(); } if (options.ConfigureJsonSerializerOptions != null) { services.AddSingleton((serviceProvider) => options .ConfigureJsonSerializerOptions(serviceProvider)); } else { services.AddSingleton(new JsonSerializerOptions()); } if (options.ConfigureJsonFileCacheTrackerStoreOptions != null) { services .AddSingleton((serviceProvider) => options .ConfigureJsonFileCacheTrackerStoreOptions(serviceProvider)) .AddSingleton <ICacheTrackerStore, DefaultJsonFileCacheTrackerStore>() .AddSingleton <ICacheEntryTracker, DefaultCacheEntryTracker>(); } if (options.ConfigureRetryHandlerOptions != null) { services.AddSingleton((serviceProvider) => options.ConfigureRetryHandlerOptions(serviceProvider)); } else { services.AddSingleton(RetryHandler.DefaultOptions); } }
public new static IFluentTryAsync Create() { return(new DefaultFluentTryAsync(new ConcurrentBag <Func <Task> >(), Switch.Create <Type, ExceptionHandler>())); }
public static IFluentTry Create() { return(new DefaultFluentTry(new ConcurrentBag <Action>(), Switch.Create <Type, ExceptionHandler>())); }
public DefaultHttpClientFactory(ISwitch <string, HttpClient> httpClientSwitch = null) { _httpClientSwitch = httpClientSwitch ?? Switch.Create <string, HttpClient>(); }