В IIS6 вы не можете настроить приложение_
Кодовый каталог как виртуальный каталог.
Однако я обнаружил, что вы можете настроить виртуальный каталог в приложении._
Каталог кода, и IIS6 скомпилирует код в сборку __code.
Кажется, что IIS7 этого не сделает, но мне интересно, есть ли другой способ совместного использования каталога кода на нескольких сайтах в IIS7.
Один из вариантов, который действительно работает, - это создать соединение с общим каталогом исходного кода, но мне очень понравилось иметь параметр виртуального каталога и, по определению, код автоматически недоступен через FTP.
Рекомендуемые? возможно нет. Незаконно? может быть. Возможно? да.
Вы можете использовать виртуальные каталоги в каталоге App_Code файлового веб-сайта ASP.Net, размещенного в IIS7.
Создайте пустой путь на диске
Сначала создайте файловую структуру, аналогичную указанному ниже, где «MyWebRoot» - это корневой каталог вашего веб-сайта, а «MySharedCode» - это имя, которое вы хотите для виртуального каталога, который будет содержать общий исходный код * .cs или * .vb. файлы.
E: \ MyWebRoot \ App_Code \ MySharedCode
Замаскируйте физический путь виртуальным каталогом
Затем откройте диспетчер информационных служб Интернета (IIS) и найдите свой сайт в узле «Сайты» на сервере.
Щелкните значок плюса рядом с названием сайта, чтобы его развернуть. Вы увидите список каталогов верхнего уровня.
Щелкните правой кнопкой мыши каталог «App_Code» и выберите «Добавить виртуальный каталог ...» (см. Снимок экрана).
Введите имя виртуального каталога с общим кодом в текстовое поле «Псевдоним». Это имя должно совпадать с именем пустой папки, созданной вами в каталоге App_Code.
Наконец, введите фактический путь к местоположению общего кода в текстовом поле «Физический путь».
Нажмите «ОК», чтобы завершить создание виртуального каталога.
При следующем просмотре сайта IIS должен скомпилировать файлы, расположенные по физическому пути, на который ссылается ваш виртуальный каталог.
ПРИМЕЧАНИЕ. Вам может потребоваться сбросить IIS или «прикоснуться» к файлу Web.Config, чтобы запустить этот процесс.
Пуск> Выполнить> iisreset
Очевидно, IIS отдает приоритет содержимому виртуального каталога, но для его компиляции требуется наличие физического пути.
Так почему бы вам не скомпилировать нужный код в вашем общем App_Code и не установить его в GAC? Вот для чего он нужен, и он намного безопаснее, чем то, что вы предлагаете.