У меня есть ситуация, когда мне нужно, чтобы один фильтр выполнялся перед каждым вызовом API, но в dot net вы должны написать этот фильтр над каждым контроллером. [имя фильтра действий].
У меня написано так много контроллеров, и писать этот тег над каждым контроллером довольно беспокойно. Есть ли способ, чтобы этот фильтр вызывался перед каждым выполнением контроллера, не записывая его над каждым контроллером. Как и при загрузке Java Spring, нам не нужно писать аннотацию нашего фильтра над каждым контроллером, который он просто запускает перед вызовом API.
Я шрифт знаю, похож ли этот вопрос на уже заданный вопрос, если да, пожалуйста, скажите мне, ребята, я здесь новенький.
Я понимаю вашу точку зрения, но дело в том, что я Java-разработчик, и мне сказали сделать это только на один день, поэтому я собрал так много информации и каким-то образом сумел задать вопрос, который почти понятен @Hopeless
Для ядра asp.net 2.x попробуйте следующее:
services.AddMvc(options =>
{
options.Filters.Add(new CustomActionFilter());
//or
//options.Filters.Add(typeof(CustomActionFilter));
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
Ссылка:
Для ядра asp.net 3.x попробуйте следующее:
services.AddControllers(config =>
{
config.Filters.Add(new CustomActionFilter());
});
Ссылка:
То, что вы хотите, называется глобальным фильтром (это даже не упоминается в первом ответе ниже). Это ужасно. Нам нужен не просто материал, нам также нужно его (техническое) название, чтобы мы могли говорить или обсуждать его, узнавать о нем больше... Действительно, когда вы узнали о фильтрах в ядре asp.net, у вас должно было быть известно об этом термине. Всегда старайтесь сначала прочитать документацию (я знаю, что это очень долго и требует много времени, но оно того стоит), прежде чем использовать его.