내 응용 프로그램을 배포하는 데 몇 가지 문제가 있으며 문제를 해결하는 동안 폴더 에서 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폴더 범위 내에서 사용자 지정하려는 경우 입니다.
답변
