public CodeMatchingService(
     IHttpContextAccessor httpContextAccessor,
     ICodeMatchingCache matchingCache,
     ICodeMatchingOption matchingOption,
     IHostingEnvironment env)
 {
     this.httpContextAccessor = httpContextAccessor;
     this.matchingCache       = matchingCache;
     this.matchingOption      = matchingOption;
     this.env = env;
 }
Пример #2
0
 public CodeMatchingCache(
     int cultureCacheCapacity,
     int perCultureCapacity,
     ICodeMatchingOption matchingOption,
     ICultureOption cultureOption,
     ICultureFileCache cultureFileCache)
 {
     this.cultureCache       = new Cache <string, CulturePage>(cultureCacheCapacity);
     this.perCultureCapacity = perCultureCapacity;
     this.matchingOption     = matchingOption;
     this.cultureOption      = cultureOption;
     this.cultureFileCache   = cultureFileCache;
 }
Пример #3
0
 public static IServiceCollection AddCodeMatching(
     this IServiceCollection services,
     string resourceDirectory = "/Strings",
     bool isCaseSensitive     = false,
     int culturePageCacheSize = 100,
     int cultureCacheSize     = 20)
 {
     services.AddSingleton <ICodeMatchingOption>(new CodeMatchingOption(resourceDirectory, isCaseSensitive));
     services.AddSingleton <ICodeMatchingCache>(provider =>
     {
         ICodeMatchingOption option         = provider.GetRequiredService <ICodeMatchingOption>();
         ICultureOption cultureOption       = provider.GetRequiredService <ICultureOption>();
         ICultureFileCache cultureFileCache = provider.GetRequiredService <ICultureFileCache>();
         return(new CodeMatchingCache(cultureCacheSize, culturePageCacheSize, option, cultureOption, cultureFileCache));
     });
     services.AddScoped <ICodeMatchingService, CodeMatchingService>();
     return(services);
 }