Я только что прочитал документы на PostSharp.net около Importing Dependencies from the Target Object и нуждаюсь в уточнении с точки зрения сервиса WCF.Инъекция зависимостей в PostSharp
Это мой отделан аспект кэш, в котором я пытаюсь использовать ICACHE с помощью Unity:
[Serializable]
public class CacheAspect : OnMethodBoundaryAspect, IInstanceScopedAspect
{
[IntroduceMember(Visibility = Visibility.Family, OverrideAction = MemberOverrideAction.Ignore)]
[CopyCustomAttributes(typeof(ImportAttribute))]
[Import(typeof(ICache))]
public ICache Cache { get; set; }
[ImportMember("Cache", IsRequired = true)]
public Property<ICache> CacheProperty;
public override void OnEntry(MethodExecutionArgs args)
{
var cache = this.CacheProperty.Get();
}
object IInstanceScopedAspect.CreateInstance(AdviceArgs adviceArgs)
{
return this.MemberwiseClone();
}
void IInstanceScopedAspect.RuntimeInitializeInstance()
{
var container = new UnityContainer();
container.LoadConfiguration();
var distributedCache = container.Resolve<DistributedCache>();
this.CacheProperty.Set(distributedCache);
}
}
Моя проблема с RuntimeInitializeInstance методом.
Я хотел бы знать, является ли установка CacheProperty в этом методе правильным подходом или я должен делать это по-другому?