Web.Config 파일이 MVC 프로젝트의보기 폴더에서 수행하는 작업
내 응용 프로그램을 배포하는 데 문제가 있으며 문제를 해결하는 동안 폴더에 있는 Web.Config
파일을 발견했습니다 Views
. 소스의 가능성을 내 문제로 좁히기 위해 ~ Web.Config 파일의 목적을 찾으려고했지만 실제로 많은 정보를 찾을 수 없습니다.
그래서 기본적으로 내 질문은 다음과 같습니다.
- MVC 프로젝트
Web.config
의Views
폴더 에서 파일은 무엇을 합니까? - 필수인가요?
Asp.Net webforms에서는 폴더에 별도의 web.config 파일을 사용하려면 해당 폴더를 IIS에서 가상 폴더로 설정해야한다고 생각합니다. MVC의 경우입니까 (즉, Views
폴더를 가상 폴더로 구성해야합니까)?
아니요,이 추가 web.config 파일 때문에 가상 폴더를 구성 할 필요가 없습니다.
web.config 파일은 컨트롤러 이외의 다른 방법으로보기에 액세스하지 못하도록보기 폴더에 있습니다. MVC 디자인 패턴에서 컨트롤러는 요청을 라우팅하고 렌더링 된 뷰를 호출하는 클라이언트로 반환해야합니다.
즉, www.mydomain.com/MySuperController/AwesomeAction1/SweetPage.aspx에서보기는해야 하지 직접 액세스 할 수 있습니다.
web.config 파일을 들여다 보면 실제로 HttpNotFoundHandler
모든 경로와 동사에를 등록합니다 .
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
또는 IIS 7에서는 다음과 같이 보일 수 있습니다.
<add name="BlockViewHandler" path="*.aspx" verb="*"
preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
네임 스페이스 가져 오기와 같은 뷰에 대한 컴파일러를 구성하고 뷰 폴더가 404를 반환하도록합니다.
보기 폴더의 web.config 파일은보기 폴더 내의 페이지에 적용 할 일부 특수 설정을 수행하는 것입니다.
연결 문자열 / appsettings 등과 같은 구성 설정과 같습니다.
그러나 이는 해당 폴더에만 적용되며 프로젝트의 나머지 부분은 루트에있는 web.config에서 설정을 선택합니다.
특히 영역의 개념을 사용하면 별도의 web.cfg 파일이 포함 된 영역별로 별도의 폴더가 있으며 각 영역에 대해 별도의 설정을 적용 할 수 있습니다.
이는 상단에 언급 된 내용을 재정의하려는 경우 web.config
, 즉 Views
폴더 범위 내에서 무언가를 사용자 정의하려는 경우 입니다.
'code' 카테고리의 다른 글
오버플로 : 숨겨진 부모 외부에 자식을 표시 (0) | 2020.10.08 |
---|---|
도메인간에 window.postMessage를 어떻게 사용합니까? (0) | 2020.10.08 |
sys.path.insert (1, path) 대신 sys.path.append (path)를 사용하는 이유는 무엇입니까? (0) | 2020.10.08 |
Android Studio : 기본 프로젝트 디렉토리 (0) | 2020.10.08 |
정적 초기화 프로그램에서 람다가있는 병렬 스트림이 교착 상태를 일으키는 이유는 무엇입니까? (0) | 2020.10.08 |