Esempio n. 1
0
        public static List <String> GetBannedIPList()
        {
            string cachekey = "bannedipaddresses";

            if (HttpRuntime.Cache[cachekey] == null)
            {
                List <String> bannedIPs = BannedIPAddress.GetAllBannedIPs();

                int cacheTimeout = 120;

                String pathToCacheDependencyFile
                    = HttpContext.Current.Server.MapPath(
                          "~/Data/bannedipcachedependency.config");

                if (pathToCacheDependencyFile != null)
                {
                    EnsureCacheFile(pathToCacheDependencyFile);
                }

                CacheDependency cacheDependency
                    = new CacheDependency(pathToCacheDependencyFile);

                DateTime                 absoluteExpiration = DateTime.Now.AddSeconds(cacheTimeout);
                TimeSpan                 slidingExpiration  = TimeSpan.Zero;
                CacheItemPriority        priority           = CacheItemPriority.Default;
                CacheItemRemovedCallback callback           = null;

                HttpRuntime.Cache.Insert(
                    cachekey,
                    bannedIPs,
                    cacheDependency,
                    absoluteExpiration,
                    slidingExpiration,
                    priority,
                    callback);
            }

            return(HttpRuntime.Cache[cachekey] as List <String>);
        }