Created ActionsResolver for creating IActions and updated Action class to use this now. Still needs

a bit of cleanup, see TODO notes in Action.cs
This commit is contained in:
shannon@ShandemVaio
2012-08-01 23:30:37 +06:00
parent d644b44d80
commit 923f4f517f
9 changed files with 295 additions and 57 deletions

View File

@@ -107,8 +107,7 @@ namespace Umbraco.Core.Resolving
{
l.UpgradeToWriteLock();
//add the items to the context items (based on full type name)
CurrentHttpContext.Items[this.GetType().FullName] = new List<TResolved>(
PluginManager.Current.CreateInstances<TResolved>(InstanceTypes));
CurrentHttpContext.Items[this.GetType().FullName] = new List<TResolved>(CreateInstances());
}
return (List<TResolved>)CurrentHttpContext.Items[this.GetType().FullName];
}
@@ -119,19 +118,23 @@ namespace Umbraco.Core.Resolving
if (_applicationInstances == null)
{
l.UpgradeToWriteLock();
_applicationInstances = new List<TResolved>(
PluginManager.Current.CreateInstances<TResolved>(InstanceTypes));
_applicationInstances = new List<TResolved>(CreateInstances());
}
return _applicationInstances;
}
case ObjectLifetimeScope.Transient:
default:
//create new instances each time
return PluginManager.Current.CreateInstances<TResolved>(InstanceTypes);
return CreateInstances();
}
}
}
protected virtual IEnumerable<TResolved> CreateInstances()
{
return PluginManager.Current.CreateInstances<TResolved>(InstanceTypes);
}
/// <summary>
/// Removes a type.
/// </summary>