IIS6 Виртуальный каталог не доступен как приложение
-
18-09-2020 - |
Вопрос
У меня есть коробка WinsRV2K3 с IIS6, принимающим серию сайтов, один из которых является сайтом VB / .NET2.Внутри этого я создал виртуальный каталог и указал его на очень простой C # /. Справочник Net3,5 сайта.Я ожидал, что сайт позволит мне просмотреть страницы как обычный сайт (в виртуальном каталоге есть только один ASMX), но при доступе к странице из браузера, я получаю:
Server Error in '/TestVbSite' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load file or assembly 'IMSControls' or one of its dependencies. The system cannot find the file specified. (D:\sites\TestVbSite\web.config line 211)
Source Error:
Line 209: </httpHandlers>
Line 210: <httpModules>
Line 211: <add name="UrlRewritingModule" type="IMS.Controls.HttpModules.UrlRewritingModule, IMSControls" />
Line 212: </httpModules>
Line 213: </system.web>
Source File: D:\sites\TestVbSite\web.config Line: 211
.
Проблема, которую я вижу, состоит в том, что Web.config бросает исключение, по-видимому, представляет собой родительский веб-сайт .Config, а не Web.config в виртуальном каталоге.Но я не понимаю почему.
При доступе к регулярным страницам на веб-сайте (не под виртуальным каталогом) они представляют и выполняют как обычно, указывая на то, что dll imscontrols не может загрузить из виртуального каталога, но опять же, я не понимаю, почему это дажебыть вовлеченным в процесс.
Решение
Хорошо, ну, после нескольких ложных начинающих, тяжелый гугл дал мне правильную вещь, чтобы искать: Web.config наследство.
В основном, чтобы остановить виртуальный каталог от наследования атрибутов его веб-сайта Web.config (и, следовательно, любые проблемы с ним) Web.config на родительском сайте. Web.config должен иметь свой элемент <system.web>
, завернутый в новую (для меня) тег:
<location path="." inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>
.
Полезные ссылки:
http://forums.asp.net/t/1164283.aspx
http://dotnetslackers.com/security/re-55457_stopgust_asp_net_web_config_nheritance.aspx