如何将策略注入添加到私有方法
本文关键字:有方法 添加 注入 策略 | 更新日期: 2023-09-27 17:56:14
我遇到以下情况。
我们有一个私有方法,我想通过使用处理程序属性添加策略注入。此方法由我的接口中定义的几个不同的公共方法调用。我正在工厂中实例化存储库,在那里我返回包装的对象。到目前为止,我无法在我的私有方法上获得策略注入。我是否以错误的方式包装了对象?我还尝试通过直接实例化存储库对象来创建包装的对象。到目前为止,我只将属性添加到公共方法中,在这种情况下,我在界面中添加了正常工作的属性。希望任何人都知道如何完成这项工作。
请参阅下面的我的实现:
// 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 上的埃维诺支持部门获得了有关此问题的一些帮助。他们告诉我,你只能拦截公共方法/属性。他们还给了我企业库策略注入块限制的链接,可以在 MSDN 上找到:http://msdn.microsoft.com/en-us/library/ff650508.aspx#intro_limitations