public static IBlobStorageBuilder AddBlobStorage(this IServiceCollection self)
 {
     self.AddContextAccessor();
     var builder = new BlobStorageBuilder();
     builder.Services = self.AddRouting();
     return builder;
 }
 public static IServiceCollection AddPomeloLocalization(this IServiceCollection self, Action<MemoryCultureSet> InitCultureSource = null)
 {
     var set = new MemoryCultureSet();
     InitCultureSource?.Invoke(set);
     self.AddMemoryCache();
     self.AddContextAccessor();
     self.AddSingleton<ICultureSet>(set);
     self.AddScoped<ICultureProvider, DefaultCultureProvider>();
     self.AddScoped<IStringReader, DefaultStringReader>();
     self.AddSingleton<ITranslator, NonTranslator>();
     self.AddSingleton<ITranslatedCaching, MemoryTranslatedCaching>();
     self.AddScoped<ITranslatorDisabler, DefaultTranslatorDisabler>();
     self.AddScoped<IEntityStateListener, LocalizationEntityStateListener>();
     self.Configure<MvcOptions>(x => x.Filters.Add(typeof(LocalizationFilter)));
     self.Configure<MvcOptions>(x => x.Filters.Add(typeof(DbContextModelBindingFilter)));
     return self;
 }