У меня есть классический веб-сайт ASP, который мы переместили с IIS 6 на Win2k8 и IIS 7. В структуре папок веб-сайта находится виртуальный каталог с названием Продукты, содержащий JPG, которые физически хранятся в другом месте на том же сервере.
В веб-браузере любой JPG-файл продукта корректно отображается на странице. Например. http://www.MySite.com/images/poducts/widget.jpg работает удовольствие.
Однако эта папка недоступна при попытке доступа к ней в коде ASP с использованием FileSystemObject - все остальные файлы / папки есть, кроме Виртуального каталога. Вот пример фрагмента кода ASP:
Set objFSO = Server.CreateObject( "Scripting.FileSystemObject" )
Set objBaseFolder = objFSO.GetFolder( Server.Mappath( "../../Images" ) )
For Each objFolder In objBaseFolder.SubFolders
Response.Write( objFolder.Name & "<br>" )
Next
Set objFolder = Nothing
Set objBaseFolder = Nothing
Set objFSO = Nothing
Кроме того, ASPJpeg Com Object в Persit без проблем открывает и сохраняет JPG-файлы в / из этого виртуального каталога из ASP-кода.
В IIS7 на веб-сайте есть пул приложений, и я попробовал все настройки для его идентификации, но безрезультатно. Я также пытался применить различные параметры безопасности (IUSR_, Network Service и др.) К физической папке, на которую указывает виртуальный каталог, - даже предоставив полный контроль над «Все» в одной точке.
Похоже, что процесс ASP не имеет разрешения для виртуальных каталогов. Если у кого-то есть идеи о том, как решить эту проблему, я был бы очень признателен.