내 컨트롤러 동작 위에 OutputCache 특성을 정의하여 서버가 다른 사용자에게 동일한 응답을 신속하게 제공 할 수 있도록합니다. 그것은 전체 페이지를 캐시합니다. View()
을 반환하는 작업을 캐싱 한 경우 마스터 페이지도 캐싱된다는 의미입니다. 따라서 마스터 페이지 상단의 사용자 계정 정보는 모든 사용자가 공유합니다. 마스터 페이지 인 _Layout.cshtml이 아닌 콘텐츠 페이지 만 캐시하고 싶습니다. 어떻게 제외 할 수 있습니까?서버의 OutputCache
편집 : 내가하는 데 문제 부분은 이것이다 :
@if(Request.IsAuthenticated) {
<text>Hello <strong>@User.Identity.Name</strong>!</text>
@: |
@Html.ActionLink("Index", "Index", "Account")
@: |
@Html.ActionLink("Logout", "Logout", "Account")
}
else
{
@:|
@Html.ActionLink("Login", "Login", "Account")
}
내가 컨트롤러 액션을 캐시, 돌려보기도 캐시에서이 userlogin에 부품을 운반, 그래서 잘못 경례를 제공합니다 거의 모든 사용자. 페이지가 캐시 된 경우에도이 파트를 어떻게 동적으로 생성합니까?
덕분에, 나는 동적으로 생성되는 로그인 부분이 필요하지만 메인 컨텐츠는 모든 사용자를 위해 캐시되어야합니다. – Halo