К сожалению, вы не сможете заставить это работать на странице ASP.NET с перехватом Unity.
Перехват Unity использует модель перехвата во время выполнения. В зависимости от выбранного вами перехватчика вы получите либо подкласс с переопределениями виртуальных методов для вызова обработчиков вызовов (VirtualMethodInterceptor), либо отдельный прокси-объект (Interface или TransparentProxyInterceptor), которые выполняют обработчики вызовов и затем пересылаются к реальному объекту.
Вот в чем проблема - ASP.NET контролирует создание и вызовы на вашу страницу, и нет простого способа подключиться к ним. Без управления созданием объекта страницы вы не можете использовать VirtualMethodInterceptor, потому что для этого необходимо создать экземпляр подкласса. И вы также не можете использовать версию прокси, потому что вам нужен ASP.NET для звонков через прокси.
PostSharp справляется с этим, потому что фактически переписывает ваш IL во время компиляции.
Предполагая, что вы можете подключиться к созданию объекта страницы, вам придется использовать VirtualMethodInterceptor здесь. Это закрытый метод, поэтому вы хотите войти в систему "самостоятельных" вызовов (вызовы из одного метода объекта в другой метод того же объекта). Перехватчики на основе прокси не могут их видеть, поскольку прокси - это отдельный экземпляр.
Я предполагаю, что где-то есть ловушка для настройки того, как ASP.NET создает объект - может быть, BuildManager? Но я не знаю достаточно о деталях, и я ожидаю, что потребуется довольно серьезный взлом, чтобы получить работу.
Итак, как вы справляетесь с этим? Моя рекомендация (на самом деле я бы порекомендовал это в любом случае) - использовать шаблон Model-View-Presenter для ваших страниц ASP.NET. Сделайте объект страницы самим тупым. Все, что он делает, это переадресация вызовов на отдельный объект, Presenter. Presenter - это то, где находится ваша настоящая логика, и он не зависит от деталей ASP.NET. Вы получаете огромный выигрыш в тестируемости и можете перехватывать звонки на докладчике безо всяких трудностей, которые дает вам ASP.NET.