Inheritance: ICacheKeyGenerator
Esempio n. 1
0
        public void TestGenerateMethod(string url, string expected)
        {
            var logger = new FakeLogger();
            var extractor = new DomainNameExtractor(logger);
            var serializer = new FakeDomainSerializer();
            var byConvention = new ByConvention(logger, serializer);
            var validator = new TenantValidator(logger, serializer, byConvention);
            const string defaultTenant = "localhost";


            var locator = new TenantLocator(logger, extractor, byConvention, validator, serializer);
            var uri = new Uri(url);
            var keyGen = new CacheKeyGenerator(uri, locator, defaultTenant);

            string result = keyGen.Generate();

            Assert.Equal(expected, result);
        }
Esempio n. 2
0
        private string GetCacheKey(ControllerContext context)
        {
            var request = context.RequestContext.HttpContext.Request;

            if (request?.Url != null)
            {
                Log.Verbose("Getting cache key for the current request: {Url}.", request.Url);

                var locator = TenantConvention.GetTenantLocator();
                string defaultTenant = TenantConvention.GetDefaultTenantName();
                var keyGen = new CacheKeyGenerator(request.Url, locator, defaultTenant);

                string key = keyGen.Generate();
                Log.Verbose("The cache key for the current request is {key}.", key);
                return key;
            }

            Log.Verbose("Cannot get the cache key for the current request because the Request context is null.");

            return null;
        }
Esempio n. 3
0
        private string GetCacheKey(ControllerContext context)
        {
            var request = context.RequestContext.HttpContext.Request;

            if (request?.Url != null)
            {
                Log.Verbose("Getting cache key for the current request: {Url}.", request.Url);

                var    locator       = TenantConvention.GetTenantLocator();
                string defaultTenant = TenantConvention.GetDefaultTenantName();
                var    keyGen        = new CacheKeyGenerator(request.Url, locator, defaultTenant);

                string key = keyGen.Generate();
                Log.Verbose("The cache key for the current request is {key}.", key);
                return(key);
            }

            Log.Verbose("Cannot get the cache key for the current request because the Request context is null.");

            return(null);
        }