EDIT
Как отмечает Крис в комментариях ниже, MVC3 не имеет состояния, что означает, что с этим решением вам придется подписываться на эти события при каждом запросе. Вероятно, это не очень хорошее решение для MVC.
<Ч />
Рассматривали ли вы глобальную службу событий?
Грубый пример:
class Example : IEventReceiver
{
public void Init()
{
EventService.Subscribe("Logon", this);
}
private void OnEvent(string eventName)
{
// Do logon stuff here.
}
}
Вам потребуется создать класс EventService
, который может быть одноэлементным или сервисным. Может иметь интерфейс, подобный следующему:
public interface IEventService
{
void Subscribe(string eventName, IEventReceiver receiver);
void Unsubscribe(string eventName, IEventReceiver receiver);
void DispatchEvent(string eventName);
}
public interface IEventReceiver
{
void OnEvent(string eventName);
}