Доступ к папке вне корневой папки сайта в asp.net

У меня есть около 15 веб-сайтов на сервере, я создал инструмент, который является общим для всех сайтов.

Теперь вместо того, чтобы хранить одни и те же файлы в папке отдельного сайта, я решил сохранить общую папку и оставить ее вне папки сайта, чтобы мне не приходилось хранить файлы на всех сайтах.

Но моя проблема в том, что если папка находится за пределами корневой папки веб-сайта, я не могу получить к ней доступ, так как Server.MapPath не работает.

Я даже пытался сохранить эти файлы в папке в одном из корней сайта и получить к ним доступ, например, http://domain.com/folder/control.ascx но это тоже не работает. выдает ошибку, говоря: http:/domain.com/folder/control.ascx' is not a valid virtual path

Может ли кто-нибудь помочь мне с тем, как я могу получить доступ к файлам вне корневой папки или сохранить их в одной корневой папке сайта.

2 ответа

Решение

Вы пытались добавить виртуальный каталог под вашим сайтом, который указывает на общий каталог?

Server
  Sites
    Common - base directory is C:\sites\common\
    SiteA - base directory is C:\sites\siteA\
      common - virtual directory pointing to C:\sites\common
    SiteB - base directory is C:\sites\siteB\
      common - virtual directory pointing to C:\sites\common

Вам нужно установить уровень доверия всего сайта на полное доверие

Просто откройте IIS Managerщелкните по корневому узлу и дважды щелкните по NET Trust Levels, Здесь вы можете поэкспериментировать с различными уровнями доверия, чтобы увидеть, разрешает ли ваш Server.MapPath межсайтовые пути

Вот статья с подробностями о том, как это сделать также с помощью командной строки

Другие вопросы по тегам