Castle.MicroKernel.Lifestyle.PerThreadLifestyleManager.Resolve C# (CSharp) Method

Resolve() public method

public Resolve ( CreationContext context ) : object
context Castle.MicroKernel.Context.CreationContext
return object
		public override object Resolve(CreationContext context)
		{
			lock(slot)
			{
				Hashtable map = (Hashtable) Thread.GetData( slot );

				if (map == null)
				{
					map = new Hashtable();

					Thread.SetData( slot, map );
				}

				Object instance = map[ ComponentActivator ];

				if ( instance == null )
				{
					instance = base.Resolve(context);
					map.Add( ComponentActivator, instance );
					instances.Add( instance );
				}

				return instance;
			}
		}