Как добавить впрыск политики в частный метод
-
13-11-2019 - |
Вопрос
Я имею следующую ситуацию.
У нас есть личный метод, где я хочу добавить PolicyInection, используя HandlerAttribute.Этот метод называется несколькими различными публичными методами, которые определены в моем интерфейсе.Я создал репозиторий на заводе, где я возвращаю обернутый объект.До сих пор я не могу получить политику, работающую в моем частном методе.Я ошибаюсь не тот путь?Я также пытался создать обернутый объект непосредственно созданием объекта репозитория.До сих пор я добавил только атрибут общедоступным методам, в этом случае я добавил атрибут в интерфейсе, который работает правильно.Надеюсь, что у кого-нибудь есть подсказка о том, как сделать эту работу.
Смотрите мою реализацию ниже:
// 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);
}
. Решение
получил некоторую помощь по этому вопросу от поддержки Avanade на CodePlex.Они сказали мне, что вы можете перехватить только общедоступные методы / свойства.Они также дали мне связь с ограничениями блока впрыска политики библиотеки предприятия, которые можно найти на MSDN по адресу: http://msdn.microsoft.com/en-us/library/ff650508.aspx#Intro_limitations