Oprogramowanie pośredniczące działa na poziomie ASP.NET Core i może działać na każde żądanie przychodzące do aplikacji.
Z drugiej strony filtry MVC działają tylko w przypadku żądań przychodzących do MVC.
Na przykład, gdybym chciał wymusić, że wszystkie żądania muszą być przesyłane przez HTTPS, musiałbym do tego użyć oprogramowania pośredniczącego. Gdybym utworzył filtr MVC, który to zrobił, użytkownicy mogliby nadal żądać np. Plików statycznych przez HTTP.
Ale z drugiej strony coś, co rejestruje czasy trwania żądań w kontrolerach MVC, może absolutnie być filtrem akcji.