Виртуальный каталог IIS6 недоступен как приложение - PullRequest
1 голос
/ 21 июля 2010

У меня есть WinSrv2k3 box с 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 не может загрузить из виртуального каталога, ноопять же, я не понимаю, почему это могло бы быть вовлечено в процесс.

1 Ответ

0 голосов
/ 21 июля 2010

Хорошо, хорошо, после некоторого фальстарта, интенсивное поиск в Google дало мне правильную вещь для поиска: наследование web.config.

По сути, чтобы не дать виртуальному каталогу наследовать атрибуты сети его родительского сайта.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_Stopping_ASP_NET_web_config_inheritance.aspx

http://msdn.microsoft.com/en-us/library/ms178685.aspx

...