#windows-server-2012-r2 #iis-8.5
#windows-server-2012-r2 #iis-8.5
Вопрос:
Это очень странно. Я разработал ASP.NET веб-сайт, который в какой-то части кода проверяет, существует ли файл, с помощью следующего метода:
File.Exists(Server.MapPath(archivo))
Этот метод возвращает false, даже если файл существует.
Когда я указываю браузер непосредственно на PDF, я получил ошибку 403 forbidden.
Содержащая папка содержит около 81 000 файлов.
Если я скопирую этот PDF-файл в другой каталог, где этот файл является единственным файлом, я могу указать браузер там, и будет показан PDF.
Что здесь может происходить?
Редактировать:
Добавлен скриншот скрытых сегментов:
Спасибо, Хайме
Комментарии:
1. Совпадает ли имя каталога с файлами PDF с именем скрытого сегмента в IIS? Чтобы увидеть: в диспетчере IIS выберите сайт, в разделе «IIS» откройте «Фильтрация запросов», затем выберите вкладку «Скрытые сегменты». Чтобы решить: дайте каталогу другое имя.
2. @AndrewMorton Я добавил скриншот вкладки скрытых сегментов к вопросу. Папка PDF там не указана.
3. Вам необходимо изучить журналы IIS и определить, какой тип 403 у вас возникает. c:inetpublogsLogfiles .
4. И чтобы согласиться с комментарием Rich-Langs: Код состояния HTTP в IIS 7 и более поздних версиях .
5. Я видел файлы журналов, и ошибка не была показана .. и на самом деле, код состояния был 200, когда я попытался просмотреть PDF в браузере. Я включил отображение полной ошибки в IIS, установив httpErrors ErrorMode, и таким образом браузер отправляет ошибку 401.3. Другой факт, о котором я вам не сказал, заключается в том, что это виртуальный каталог, который был указан на другой диск на сервере. Однако я создал на том же уровне другой виртуальный каталог, и у него нет проблем.