Categories: asp.net, Örnek sınıflar Posted by Admin on 3/13/2011 10:00 AM | Comments (0)

Merhabalar, daha önce de bu konuya benzer şeyler yazmıştım. Bu yazıda cache işlemlerini kolayca yapabilmek için kullandığım aşağıdaki sınıfı paylaşıyorum. CacheHelper.cs sınıfı aşağıdaki gibidir.

 

namespace OMR.Core.Helpers
{
    using System;
    using System.Web;

    public class CacheHelper
    {
        private static HttpContext GetHttpContext()
        {
            HttpContext httpContext = HttpContext.Current;
            if (httpContext == null)
                throw new InvalidOperationException();

            return httpContext;
        }

        /// <summary>
        /// Önbelleğe nesne eklemek için kullanılır
        /// </summary>
        /// <typeparam name="T">Nesne tipi</typeparam>
        /// <param name="t">Nesne tipi</param>
        /// <param name="key">Önbellek anahtarı</param>
        /// <param name="minute">Önbellekte kalma süresi</param>
        public static void Add<T>(T t, string key, int minute) where T : class
        {
            GetHttpContext().Cache.Insert(key, t, null, DateTime.Now.AddMinutes(minute), System.Web.Caching.Cache.NoSlidingExpiration);
        }

        /// <summary>
        /// Önbellek anahtarına göre nesneyi önbellekten siler
        /// </summary>
        /// <param name="key">Önbellek anahtarı</param>
        public static void Clear(string key)
        {
            GetHttpContext().Cache.Remove(key);
        }

        /// <summary>
        /// Önbellekte önbellek anahtarı var mı?
        /// </summary>
        /// <param name="key">Önbellek anahtarı</param>
        /// <returns></returns>
        public static bool Exists(string key)
        {
            return GetHttpContext().Cache[key] != null;
        }

        /// <summary>
        /// Önbellek anahtarına göre ilgili nesneyi dönderir
        /// </summary>
        /// <typeparam name="T">Nesne tipi</typeparam>
        /// <param name="key">Önbellek anahtarı</param>
        /// <param name="value">Önbellek değeri</param>
        /// <returns></returns>
        public static bool Get<T>(string key, out T value) where T : class
        {
            try
            {
                // Önbellek anahtarı yok mu?
                if (!Exists(key))
                {
                    // Varsayılan değeri ata
                    value = default(T);
                    return false;
                }

                // Önbellekteki değeri ata
                value = (T)GetHttpContext().Cache[key];
                return true;
            }
            catch
            {
                // Hata olması durumunda varsayılan değeri ata
                value = default(T);
                return false;
            }
        }
    }
}

 

 

Faydalı olması dileğiyle, mutlu kodlar.

Kahve ısmarlayın

Aşağıdaki kahve simgesine tıklayarak bana paypal üzerinden kahve ısmarlayabilirsiniz. Kahveye olan düşkünlüğü ile bilinen birisi olarak büyük bir zevkle içeceğimden emin olabilirsiniz.


Add comment




biuquote
Loading