.NET ядро ​​фильтрации запросов и загрузки файлов - PullRequest
0 голосов
/ 18 декабря 2018

У нас есть основное веб-приложение .net, которое просто размещает файлы для некоторых обновлений наших клиентских приложений.

Мы решили добавить понимание Application в одно из этих клиентских приложений, и файл ApplicationInsights.config является частью обновления.

Запрос на https://server/path/to/update/ApplicationInsights.config выдает ошибку 404.

До сих пор я пробовал:

  1. Добавить расширение «.config» в определении статических файлов при запуске: без эффекта (Это работает для .exe и .dll)
  2. Включение просмотра папки для этой папки, пока безрезультатно

Похоже, это связано с некоторой фильтрацией запросов из коробки.

Вопрос в следующем:

Как отключить все ограничения загрузки для определенной папки (лучше всего)

ИЛИ

Как отключить ВСЕ фильтрацию для* .config файлы

Заранее спасибо

1 Ответ

0 голосов
/ 18 декабря 2018

Это потому, что по умолчанию FileExtensionContentTypeProvider не обеспечивает сопоставление для *.config файлов.

Чтобы заставить его обслуживать *.config файлы, просто создайте свои собственные ContentTypeProviderили добавьте сопоставление для *.config:

var myContentTypeProvider= new FileExtensionContentTypeProvider();
myContentTypeProvider.Mappings.Add(".config","text/plain");

app.UseStaticFiles(new StaticFileOptions{
    RequestPath = "/path/to/update",
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(),"path/to/update"),
        ExclusionFilters.None
    ),
    ContentTypeProvider = myContentTypeProvider,
});

[Обновить]

После обсуждения работает следующее Web.Config (по OP):

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer>
        <security>
            <requestFiltering>
                <fileExtensions>
                    <remove fileExtension=".config" /> 
                    <add fileExtension=".config" allowed="true" />
                </fileExtensions>
            </requestFiltering> 
        </security> 
    </system.webServer> 
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...