Ведение журнала с использованием блока внедрения политик - PullRequest
2 голосов
/ 23 ноября 2008

Привет всем

Я хочу спросить, как использовать блок приложения внедрения политик для регистрации методов входа и выхода в следующих случаях:

Case1: в случае регистрации обработчиков событий элементов управления веб-формы, вы знаете, что класс, скажем, _Default должен быть унаследован от класса System.Web.UI.Page , поэтому мы не можем наследовать наш класс от MarshalByRefObject класса, поэтому ведение журнала не будет работать.

Case2: в случае, если у нас есть статический класс, и мы должны зарегистрировать методы внутри, что мы можем сделать, чтобы наследовать этот класс от MarshalByRefObject calss , для того, чтобы получить лесозаготовительные работы.

Ответы [ 3 ]

1 голос
/ 24 февраля 2009

Что касается случая 1, блок внедрения политики может воздействовать на объекты, для которых у вас есть интерфейс. Это достаточно просто сделать в Visual Studio с помощью действия Refactor-> Extract Interface, если вы не пишете с учетом интерфейсов.

1 голос
/ 23 ноября 2008

Мне кажется, что у них есть некоторые глупые требования, чтобы иметь возможность применять протоколирование ... Это может быть оффтопом, но вы можете захотеть взглянуть на среду Spring.AOP, чтобы применить регистрацию к вашим объектам без необходимости наследования от MarshalByRefObject. (В языках с множественным наследованием это раздражающее и решительное требование, я думаю).

0 голосов
/ 25 ноября 2009

Что касается случая 2, ваш «статический» класс не может быть статическим классом. Он может наследоваться от MarshalByRefObject или реализовывать указанный вами интерфейс. Затем он может иметь закрытый конструктор и единственный экземпляр, который вы внедряете в политику. Все ваши статические методы будут просто вызывать соответствующие (внедренные в политику) методы экземпляра в экземпляре синглтона класса.

...