Запуск веб-сайта ASP.NET во вложенной папке
Есть ли способ запуска веб-сайта ASP.NET во вложенной папке веб-сайта?
В качестве примера, скажем, я хотел запустить викторину wiki (http://www.screwturn.eu/) в папке под названием "wiki" на моем веб-сайте, могу ли я изменить web.config сайта-винт, чтобы сообщить ему, что он работает в папке "wiki"? (например, говоря, что "~/" = "/wiki/" )
Затем wiki найдет свои сборки, которые находятся в "~/bin" в "/wiki/bin", и то же самое для всех остальных папок под новым корнем.
Ответы
Ответ 1
Кусок торта, вы можете либо добавить виртуальный каталог в корень веб-сайта IIS, либо указать его по пути вашего сайта, либо поместить его в физический каталог в корневом каталоге веб-сайта, а затем включить его в приложение, нажав на нее в консоли управления IIS, перейдя к свойствам и нажав "Создать" рядом с именем приложения.
Ответ 2
Вам нужно остановить наследование конфигурации в корневом файле web.config, чтобы wiki web.config ничего не читал из корневого web.config.
Ответ 3
Как отмечали другие. в основном вам нужно поместить это в дочернее приложение Web.config, конечно, вам также необходимо настроить домен (поддомен и т.д.), настройку IIS.
<configuration>
<location path="." inheritInChildApplications="false">
//your code here
<system.web>
//your code here
</system.web>
//your code here
</location>
</configuration>
Ответ 4
Мне нужно было сделать это недавно, и, сделав папку wiki приложением (как было предложено в предыдущих ответах), мне также пришлось поместить палитру "App_Themes → Default" на верхнем уровне в приложении Wiki, потому что наличия тега <pages styleSheetTheme="default" theme="default">
в родительском приложении Web.config. Небольшой взлом, но так, как мне нравится настраивать свои стили в Asp.Net, и я не хотел его менять.
Ответ 5
Короткий ответ - ДА, вы можете. Не нужно указывать местоположение папки в Web.Config.