Поскольку классические Asp.Net
и Asp.Net core
являются родственными технологиями, в обработке запросов есть много общих понятий, но есть некоторые различия, и, скорее всего, вам придется переписать некоторые элементы в вашем проекте.
Как вы заметили, появились новые фильтры.Они позволяют обрабатывать запрос более детально.Вы можете использовать фильтры, как вы делали это раньше, просто декорируя действия и контроллеры:
[SomeFilter]
public IActionResult SomeAction(){...}
И (как раньше в классическом Asp.Net
) вы не можете использовать внедрение зависимостей через конструктор фильтров.Применяемые фильтры ведут себя как синглтон.Один экземпляр используется для всех запросов.
ServiceFilterAttribute
и TypeFilterAttribute
позволяют использовать внедрение зависимостей через конструктор фильтра.При желании применяемые фильтры могут вести себя как одиночные или могут создаваться каждый раз (с внедрением зависимости) для каждого запроса.Вы можете настроить его, используя свойство IsReusable
.Подробнее о фильтре здесь .
Больше нет Delegating Handlers
.Вместо вас можно создать кастом middleware
.Вы можете увидеть пример здесь .