Web.Config 파일이 MVC 프로젝트의보기 폴더에서 수행하는 작업


86

내 응용 프로그램을 배포하는 데 몇 가지 문제가 있으며 문제를 해결하는 동안 폴더 에서 Web.Config파일을 발견했습니다 Views. 소스의 가능성을 내 문제로 좁히기 위해 ~ Web.Config` 파일의 목적을 찾으려고 노력했지만 실제로 많은 정보를 찾을 수 없습니다.

그래서 기본적으로 내 질문은 다음과 같습니다.

  1. MVC 프로젝트 Web.configViews폴더 에서 파일은 무엇을 합니까?
  2. 필수인가요?

Asp.Net webforms에서는 폴더에 별도의 web.config 파일을 사용하려면 해당 폴더를 IIS에서 가상 폴더로 설정해야한다고 생각합니다. MVC의 경우입니까 (즉, Views폴더를 가상 폴더로 구성해야합니까)?


16
"어리석은"질문이 없습니다
contactmatt

9
"어리석은"질문을 두려워하지 마십시오. 답을 모르면 "바보"가 아닙니다. 무언가를 더 잘 이해하는 것에 대해 "멍청한"것은 없습니다.
DazManCat 2013

5
SO ... 질문에 대한 네이팜에서 사용자를 dousing 알려져있다
Pangamma

답변:


79

아니요,이 추가 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"/>

21
그러나 생성 된 web.config에는 엄청난 양의 다른 텍스트가 포함되어 있습니다. 모두 중복됩니까?
Eamon Nerbonne 2014-07-15

7

네임 스페이스 가져 오기와 같은 뷰에 대한 컴파일러를 구성하고 뷰 폴더가 404를 반환하도록합니다.


7

보기 폴더의 web.config 파일은보기 폴더 내의 페이지에 적용 할 일부 특수 설정을 수행하는 것입니다.

연결 문자열 / appsettings 등과 같은 구성 설정과 같습니다.

그러나 그것은 해당 폴더에만 적용되며 프로젝트의 나머지 부분은 루트에있는 web.config에서 설정을 선택합니다.

특히 영역의 개념을 사용하는 경우 별도의 web.cfg 파일을 포함하는 각 영역에 대해 별도의 폴더가 있으며 각 영역에 대해 별도의 설정을 적용 할 수 있습니다.


6

이는 상단에 언급 된 내용을 재정의하려는 경우입니다 web.config. 즉, Views폴더 범위 내에서 사용자 지정하려는 경우 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.