2014-09-12 3 views
0

Windows 2008 R2 서버의 IIS에서 실행되는 MVC5 웹 사이트가 있습니다. 웹 사이트가 몇 시간 동안 정상적으로 작동하면 오류 메시지가 표시됩니다.MVC5 웹 사이트에서 레이아웃 페이지를 찾을 수 없습니다.

 The layout page "~/Views/Shared/Master.cshtml" 
could not be found at the following path: 
    "~/Views/Shared/Master.cshtml". 

최적이 아닌 웹 사이트를 다시 시작하면 오류가 사라집니다. 여기에 무슨 일이 벌어지고 있는지에 대한 아이디어가 있습니까? 웹 사이트는 비동기 컨트롤러를 사용하며 스레드가 파일에 액세스 할 수없는 일종의 권한 문제를 일으킬 수 있습니까?

답변

1

당신의 ~/Views/_ViewStart.cshtml 파일에 올바른 경로를 설정했는지 확인하십시오

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

당신은 다음과 같은 레이아웃을 설정 한 것으로 보인다는 :

@{ 
    ViewBag.Title = "title"; 
    Layout = "_Layout"; 
} 

당신은에 위치를 지정해야합니다 절대 경로로 레이아웃 :

@{ 
    ViewBag.Title = "title"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 
+0

레이아웃이 내 모든보기에서 절대 경로로 지정되었습니다. 파일. 만약 내가 그렇게하지 않으면, 내 사이트는 항상 나에게 같은 오류를 줄 것이다. 제 경우에는 몇 시간 동안 잘 작동하고 더 이상 파일을 찾을 수 없습니다. –

+0

레이아웃을 지정하는 일부 서버 측 코드 (예 : 사용자 지정 작업 필터 또는 레이아웃을 지정할 수있는 ViewResult 오버로드 ...) 일 수 있습니다. –

+0

액션 필터에 대한 팁이 중요했습니다. 제거 된 문제를 해결할 사용자 지정 작업 필터에서 리디렉션이 발생했습니다. –