IIS 기본 사이트 web.config 파일이 가상 디렉터리에 상속되는 것을 어떻게 방지합니까?
-
09-06-2019 - |
문제
기본 IIS 사이트의 web.config 파일에 다음 코드가 있습니다.
<httpModules>
<add type="MDL.BexWebControls.Charts.ChartStreamHandler,Charts" name="ChartStreamHandler"/>
</httpModules>
그런 다음 가상 디렉터리를 설정하고 탐색하면 이 오류가 발생합니다.
파일이나 어셈블리 '차트' 또는 해당 종속성 중 하나를 로드할 수 없습니다.시스템이 지정된 파일을 찾을 수 없습니다.
가상 디렉터리는 기본 web.config에서 모듈을 상속합니다.
이 상속을 어떻게 중단합니까?
해결책
나는 답을 찾았습니다.HttpModule 섹션을 위치 태그로 묶고 상속InChildApplications 속성을 false로 설정합니다.
<location path="." inheritInChildApplications="false">
<system.web>
<httpModules>
<add type="MDL.BexWebControls.Charts.ChartStreamHandler,Charts" name="ChartStreamHandler"/>
</httpModules>
</system.web>
</location>
이제 모든 가상 디렉터리는 이 위치 섹션의 설정을 상속하지 않습니다.
@GateKiller 이것은 다른 웹사이트가 아니며 가상 디렉터리이므로 상속이 발생합니다.
@petrich 나는 다음을 사용하여 결과를 얻었고 실패했습니다. <remove />
.모든 가상 디렉터리에 추가해야 한다는 점을 기억해야 하는데 이는 고통스럽습니다.
다른 팁
가상 디렉터리의 web.config 파일에 다음을 추가합니다.
<httpModules>
<remove name="ChartStreamHandler"/>
</httpModules>
마이크로소프트에 따르면, 다른 웹사이트는 기본 웹사이트의 설정을 상속하지 않습니다.machine.config와 동일한 폴더에 있는 기본 web.config를 편집하고 있다는 뜻입니까?
제휴하지 않습니다 StackOverflow