Как исключить папку из статических файлов ASP.NET Core? - PullRequest
0 голосов
/ 26 июня 2018

У меня есть папка под "wwwroot", которую я не хочу включать при возврате статических файлов.

Я хочу вернуть различные каталоги под "wwwroot" (например, "wwwroot/images"), и этот шаг промежуточного программного обеспечения позволяет:

app.UseStaticFiles(); 

Я могу передать это StaticFileOptions для настройки того, что возвращается.

Я хочу исключить каталог (например, "wwwroot/node_modules") и не разрешать обслуживание файлов statif из этого.

Похоже, что нет фильтра, который я мог бы использовать для StaticFileOptions - как мне применить этот фильтр?

1 Ответ

0 голосов
/ 26 июня 2018

Не ищите опцию в промежуточном ПО статических файлов - вместо этого любое промежуточное ПО может быть отфильтровано с использованием MapWhen или UseWhen. Это позволяет регистрировать промежуточное ПО только для маршрутов, в которых передается условие.

Например, исключить "wwwroot/node_modules":

app.UseWhen(
    context => !context.Request.Path.StartsWithSegments("/node_modules"),
    appBuilder => appBuilder.UseStaticFiles());

Теперь будет применяться промежуточное ПО статических файлов, только если маршрут не начинается с "/node_modules".

  • UseWhen проваливается к следующему промежуточному программному обеспечению в случае сбоя
  • MapWhen переходит к следующему промежуточному программному обеспечению, только если применяется контекстный фильтр
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...