2010-07-01 1 views
1

작성중인 ASP.NET MVC 사이트에서 HttpModule following this tutorial에 의해 라우팅되는 일반 오류 동작을 작성합니다. 이 액션에서는 HttpModule 내부의 응답에 적용된 상태 코드에 해당하는 뷰를 반환합니다 (이 작업을 수행 한 후 모듈은 요청을 해당 액션으로 넘깁니다).ASP.NET MVC : OutputCache 특성의 HTTP 상태 코드에 의한 필터링/변경

캐싱을 구현하려는 경우를 제외하고는 모두 훌륭합니다. 필터링/변경하지 않고 OutputCache 속성을 사용하고 싶지는 않습니다. 그 이유는 페이지가 한 번 캐시 될 것이기 때문입니다. 가능한 모든 상태 코드에 대해 페이지를 한 번 캐시하고 싶습니다.

어떻게 든 OutputCacheAttribute의 속성으로 필터링/변경하여 각 Response.StatusCode가 별도로 캐시 될 수 있습니까?

답변

0

현재 오류 작업에 대한 라우팅을 어떻게 처리하고 있습니까? 예 :

/Errors/404 
/Errors/500 

모든 동일한 행동을 가리키는, 그들은 독립적 인 URL이 때문에 캐싱은 당신을 위해 처리됩니다하고 OutputCache를가 일반 오류 행동을 한 시간 속성 적용 : 당신은 할 수

[OutputCache] 
public ActionResult DisplayError(int errorCode) { 
    return View(errorCode.ToString()); 
} 

그게 가능할까요?