aspnet core filter vs middleware
От: BlackEric http://black-eric.lj.ru
Дата: 17.03.19 19:33
Оценка:
Когда в aspnet core правильно использовать фильтры, а когда middleware? Что-то мне кажется, что в большинстве случаев задача решается любом способом.
https://github.com/BlackEric001
Re: aspnet core filter vs middleware
От: takTak  
Дата: 17.03.19 20:17
Оценка:
if you don't require the context of MVC, then use middlewares.<br />
But if you require the context of MVC and you want to operate against actions then use filters


https://channel9.msdn.com/Series/aspnetmonsters/ASPNET-Monsters-91-Middleware-vs-Filters

с Middleware больше независимости от MVC, например, при Web Api тащить с собой MVC nuget package вовсе не обязательно

мне ещё другой пример на ум приходит, когда хочется захостить Windows Service как веб-приложение через OWIN: тогда, наверное, тоже никаких MVC прибамбасов не надо
Отредактировано 17.03.2019 20:27 takTak . Предыдущая версия .
Re: aspnet core filter vs middleware
От: stapter  
Дата: 17.03.19 21:45
Оценка: 9 (2) +1
Здравствуйте, BlackEric, Вы писали:

BE>Когда в aspnet core правильно использовать фильтры, а когда middleware? Что-то мне кажется, что в большинстве случаев задача решается любом способом.


Начнем с того, что в .net core mvc реализован с помощью middleware.
Если говорить в контексте классического Asp.net MVC, то middleware — это в некотором смысле аналог http-модуля, а фильтры (что в классическом Asp.net, что в core) — это часть MVC-фреймворка.
Поэтому ответ простой: главным приоритетом при выборе между middleware и actionFilter является ответ на вопрос "нужен ли контекст MVC, в данном случае, или нет?".
Например обработку и преобразование формата ошибок, бросаемых "некоторыми" сервисами, которые используются в "определенных" контроллерах, имеет смысл делать с помощью фильтров.
А глобальную проверку загружаемых файлов, на соответствие определенным параметрам безопасности, можно смело отдавать на откуп middleware.
Отредактировано 17.03.2019 21:46 stapter . Предыдущая версия .
Re[2]: aspnet core filter vs middleware
От: Ночной Смотрящий Россия  
Дата: 28.03.19 10:01
Оценка:
Здравствуйте, takTak, Вы писали:

T>с Middleware больше независимости от MVC, например, при Web Api тащить с собой MVC nuget package вовсе не обязательно


В коре нет разделения на mvc и webapi

T>мне ещё другой пример на ум приходит, когда хочется захостить Windows Service как веб-приложение через OWIN: тогда, наверное, тоже никаких MVC прибамбасов не надо


В WebApi есть практически такие же прибамбасы, только другие.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: aspnet core filter vs middleware
От: takTak  
Дата: 28.03.19 10:08
Оценка:
T>>с Middleware больше независимости от MVC, например, при Web Api тащить с собой MVC nuget package вовсе не обязательно

НС>В коре нет разделения на mvc и webapi


T>>мне ещё другой пример на ум приходит, когда хочется захостить Windows Service как веб-приложение через OWIN: тогда, наверное, тоже никаких MVC прибамбасов не надо


НС>В WebApi есть практически такие же прибамбасы, только другие.



не помню в какой версии asp.net core, но mvc при желании можно викинуть, недавно на какой-то презентации такое видел


вот это что такое?
https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Core/
Отредактировано 28.03.2019 10:12 takTak . Предыдущая версия .
Re[4]: aspnet core filter vs middleware
От: Ночной Смотрящий Россия  
Дата: 28.03.19 10:39
Оценка:
Здравствуйте, takTak, Вы писали:

T>вот это что такое?

T>https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Core/

Пакет. В чем вопрос то?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: aspnet core filter vs middleware
От: takTak  
Дата: 28.03.19 10:43
Оценка:
НС>В коре нет разделения на mvc и webapi

вопрос был в этом... если нет разделения на web api и mvc, то зачем какие-то отдельные пакеты для mvc?
Re[4]: aspnet core filter vs middleware
От: Ночной Смотрящий Россия  
Дата: 28.03.19 10:58
Оценка:
Здравствуйте, takTak, Вы писали:

НС>>В коре нет разделения на mvc и webapi

T>вопрос был в этом... если нет разделения на web api и mvc, то зачем какие-то отдельные пакеты для mvc?

Оно все вместе теперь MVC называется.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: aspnet core filter vs middleware
От: takTak  
Дата: 28.03.19 11:23
Оценка:
НС>>>В коре нет разделения на mvc и webapi
T>>вопрос был в этом... если нет разделения на web api и mvc, то зачем какие-то отдельные пакеты для mvc?

НС>Оно все вместе теперь MVC называется.


вот тут пишут, что для Web Api достаточно 3 пакетов:
Microsoft.AspNetCore.Mvc.Core
Microsoft.AspNetCore.Mvc.Cors
Microsoft.AspNetCore.Mvc.Formatters.Json


вто время как для MVC нужно вот столько:

Microsoft.AspNetCore.Mvc.Core
Microsoft.AspNetCore.Mvc.Cors
Microsoft.AspNetCore.Mvc.Formatters.Json
+
Microsoft.AspNetCore.Mvc
Microsoft.AspNetCore.Mvc.ApiExplorer(>= 2.0.0)
Microsoft.AspNetCore.Mvc.Cors(>= 2.0.0)
Microsoft.AspNetCore.Mvc.DataAnnotations(>= 2.0.0)
Microsoft.AspNetCore.Mvc.Formatters.Json(>= 2.0.0)
Microsoft.AspNetCore.Mvc.Localization(>= 2.0.0)
Microsoft.AspNetCore.Mvc.RazorPages(>= 2.0.0)
Microsoft.AspNetCore.Mvc.TagHelpers(>= 2.0.0)
Microsoft.AspNetCore.Mvc.ViewFeatures(>= 2.0.0)
Microsoft.Extensions.Caching.Memory(>= 2.0.0)
Microsoft.Extensions.DependencyInjection(>= 2.0.0)


https://github.com/filipw/update-conf-2018-demos/blob/master/aspnetcore/src/NoMvc/Program.cs

-----------

нашёл пример, где в asp net core ни одного mvc пакета не используется:

using System;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.DependencyInjection;
using NoMvc.Data;
using System.Threading.Tasks;
using Microsoft.AspNetCore;


https://github.com/filipw/update-conf-2018-demos/blob/master/aspnetcore/src/NoMvc/Program.cs
Отредактировано 28.03.2019 11:33 takTak . Предыдущая версия .
Re[6]: aspnet core filter vs middleware
От: Ночной Смотрящий Россия  
Дата: 28.03.19 11:32
Оценка:
Здравствуйте, takTak, Вы писали:

T>вот тут пишут, что для Web Api достаточно 3 пакетов:

T>вто время как для MVC нужно вот столько:

А сколько нужно для фильтров?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.