У меня есть несколько мыслей по этому сценарию:
1.) «Учитывая, что пользователь работает в системе» - довольно смутный шаг. Какой код будет найден в определении шага? Если у вас нет пользовательского класса, у которого есть метод WorkingOnSystem, возможно, стоит убрать эту строку.
2.) Не смотря на остальную часть вашего кода, я думаю, что целью этой функции должен быть сам фильтр HandleError. По самому определению вы знаете, что при его вызове произошла ошибка. Все, что вам нужно сделать, - создать экземпляр фильтра, вызвать соответствующий метод и проверить результаты.
Подумайте об этом так: что означает «Когда возникает ошибка» в вашей системе? Если ваш фильтр HandleError не тот, то у вас, вероятно, нет места a . В этом случае вам нужно быть более конкретным.
Я думаю, что неловкость вокруг этой спецификации связана с ASP.Net MVC. Когда вы имеете дело с каркасом абстракций, вам иногда приходится «обматывать» свои спецификации вокруг какой-то его части. Мы просто не можем идти сквозным легко, когда части приложения приходят из очень многих мест.