view Source/Aspects/InstanceCacheAttribute.cs @ 1:8f65451dc28f

Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author cin
date Fri, 28 Mar 2014 01:04:56 +0400
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; }
		}
	}
}