#asp.net-core
Вопрос:
Я помещаю app.UseDirectoryBrowser() в свой метод настройки (или так называемое промежуточное программное обеспечение). Ничего больше. Никакого обслуживания. Шаблон по умолчанию / Пустой. Затем я также могу просматривать каталог через Visual Studio, через IIS и через интерфейс командной строки. Так в чем же цель услуг?AddDirectoryBrowser().
Вот ссылка на сайт M/S. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-5.0
Где они указывают Включить просмотр каталогов с:
AddDirectoryBrowser при запуске.Услуги по настройке. Используется в браузере при запуске.Конфигурировать. Но я не добавил «AddDirectoryBrowser» и все еще мог просматривать каталог.
Ответ №1:
это действительно странно, как сказано в документах Directory browsing is disabled by default for security reasons
. Это означает, что мы не можем просматривать папку статических файлов проекта без включения конфигурации. И не могли бы вы, пожалуйста, предоставить более подробную информацию, такую как версия фреймворка, файл запуска или что-то еще?
Вот мой результат теста, я создал значение по умолчанию asp.net основной проект 3.1 mvc и после добавления services.AddDirectoryBrowser();
, и app.UseDirectoryBrowser();
я могу просматривать свою статическую папку с файлами, но без них я потерпел неудачу. Я протестировал в vs и развернул с помощью iis express.
Комментарии:
1. Привет @Tiny Wang, Вы прокомментировали приложение. UseDirectoryBrowser из вашего метода настройки. Вот почему это не работает. Меня беспокоит только то, каково использование услуг. AddDirectoryBrowser(). Пожалуйста, постарайтесь комментировать только сервис, а не промежуточное программное обеспечение. Он будет работать без добавления услуг, т. е. сервисов. AddDirectoryBrowser()
2. @AmitRawat Привет, спасибо за ваш ответ, я тестировал судя по вашим высказываниям и это правда, что он по-прежнему без работы
services.AddDirectoryBrowser()
, и я думаю, что это тоже нормальная ситуация, так как в этом разделе заявилThe IServiceCollection so that additional calls can be chained.
, что означает, что если вы не вызываете эту услугу в другом месте, это действительно бесполезно, чтобы установить эту строку кода в ConfigureServices3. И в документе также есть высказывание
AddDirectoryBrowser must be called when the EnableDirectoryBrowsing property value is true
, и оно действительно работает , когда я комментируюservices.AddDirectoryBrowser()
, я предполагаю, что оно было включено в службу mvc. Другими словами, я предполагаю, что исходный кодservices.AddMvc()
включаетservices.AddDirectoryBrowser()
в себя .