Там было несколько примеров использования WF3, но я не видел ни одного примера для WF4. Я не знаю достаточно о внутренностях ASP.NET MVC, чтобы дать какие-либо конкретные детали о том, как реализовать это, но я полагаю, что это возможно сделать. Однако это означает синхронный запуск рабочего процесса и проверку закладок и / или активного состояния, как только он станет бездействующим, чтобы увидеть, какие операции включены в данный момент. Это должно быть возможно с помощью пользовательского SynchronizationContext, который делает вещи синхронными. Пользователь TackingParticipant должен иметь возможность сообщать вам, какое переключение состояний произошло в рабочем процессе.