C# 如何向私有方法添加策略注入
我的情况如下 我们有一个私有方法,我想通过使用handlerAttribute添加policyinjection。此方法由我的接口中定义的几个不同的公共方法调用。我正在工厂中实例化存储库,在那里我返回包装好的对象。到目前为止,我还无法让policyinjection在我的私有方法上运行。我是否用错误的方式包装了对象?我还试图通过直接实例化存储库对象来创建包装对象。到目前为止,我只将该属性添加到公共方法中,在这种情况下,我将该属性添加到工作正常的接口中。希望任何人都有一个如何使这项工作的线索 请参见下面我的实现:C# 如何向私有方法添加策略注入,c#,enterprise-library,policy-injection,C#,Enterprise Library,Policy Injection,我的情况如下 我们有一个私有方法,我想通过使用handlerAttribute添加policyinjection。此方法由我的接口中定义的几个不同的公共方法调用。我正在工厂中实例化存储库,在那里我返回包装好的对象。到目前为止,我还无法让policyinjection在我的私有方法上运行。我是否用错误的方式包装了对象?我还试图通过直接实例化存储库对象来创建包装对象。到目前为止,我只将该属性添加到公共方法中,在这种情况下,我将该属性添加到工作正常的接口中。希望任何人都有一个如何使这项工作的线索 请参
// My factory implementation
public static ICacheRepository Repository()
{
return PolicyInjection.Create<CacheRepository, ICacheRepository>();
}
// My repository
public class CacheRepository : MarshalByRefObject, ICacheRepository
{
public void Add(string name)
{
Check(name);
}
public void Update(string name)
{
Check(name);
}
public void Delete(string name)
{
Check(name);
}
[NotNull] // <= HandlerAttribute
private bool Check(string name)
{
return true;
}
}
// My CacheRepository interface.
public interface ICacheRepository
{
void Add(string name);
void Update(string name);
void Delete(string name);
}
从CodePlex上的Avanade支持部门获得了有关此问题的一些帮助。他们告诉我,您只能拦截公共方法/属性。他们还向我提供了企业库策略注入块限制的链接,可在MSDN上找到,网址为: