diff Source/Aspects/InstanceCacheAttribute.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/Aspects/InstanceCacheAttribute.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,79 @@
+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; }
+		}
+	}
+}