view Source/Aspects/InstanceCacheAttribute.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
line wrap: on
line source

using System;

namespace BLToolkit.Aspects
{
	/// <summary>
	/// http://www.bltoolkit.net/Doc/Aspects/index.htm
	/// </summary>
	[AttributeUsage(
		AttributeTargets.Class |
		AttributeTargets.Interface |
		AttributeTargets.Property |
		AttributeTargets.Method,
		AllowMultiple=true)]
	public class InstanceCacheAttribute : CacheAttribute
	{
		#region Constructors

		public InstanceCacheAttribute()
			: this(typeof(CacheAspect), null)
		{
		}

		public InstanceCacheAttribute(Type cacheAspectType, string configString)
			: base(cacheAspectType, configString)
		{
		}

		public InstanceCacheAttribute(Type interceptorType)
			: this(interceptorType, null)
		{
		}

		public InstanceCacheAttribute(Type interceptorType, int maxCacheTime)
			: this(interceptorType, null)
		{
			MaxCacheTime = maxCacheTime;
		}

		public InstanceCacheAttribute(Type interceptorType, bool isWeak)
			: this(interceptorType, null)
		{
			IsWeak = isWeak;
		}

		public InstanceCacheAttribute(Type interceptorType, int maxCacheTime, bool isWeak)
			: this(interceptorType, null)
		{
			MaxCacheTime = maxCacheTime;
			IsWeak       = isWeak;
		}

		public InstanceCacheAttribute(string configString)
			: this(typeof(CacheAspect), configString)
		{
		}

		public InstanceCacheAttribute(int maxCacheTime)
			: this(typeof(CacheAspect), maxCacheTime)
		{
		}

		public InstanceCacheAttribute(bool isWeak)
			: this(typeof(CacheAspect), isWeak)
		{
		}

		public InstanceCacheAttribute(int maxCacheTime, bool isWeak)
			: this(typeof(CacheAspect), maxCacheTime, isWeak)
		{
		}

		#endregion

		public override bool LocalInterceptor
		{
			get { return true; }
		}
	}
}