2012-02-27 8 views
0

저는 ASP .NET MVC에 문제가 있습니다. 나는 죽은 (만료 된) 후에 세션이 회복되는 것을 허용하는 기법을 연구 중이다. 이 기법을 사용하려면 컨트롤러의 동작 메서드가 호출 된 후 응답에 쓸 수있는 방법이 필요합니다.항상 특정 HTML을 출력 하시겠습니까?

어떤 접근 방식이 가장 좋을까요? 이를위한 액션 필터가 있습니까?

답변

2

속성 기반 접근 방식을 사용하려면 ActionFilterAttribute에서 파생되고 OnActionExecuted (작업 실행 후, 결과가 실행되기 전에 실행 됨) 또는 OnResultExecuted (결과가 실행 된 후 실행 됨, 예 : 뷰가 렌더링 된 후).

속성 방식이 아니라면 IActionFilter 또는 IResultFilter를 구현하고 위에서 언급 한 방법을 구현하십시오.

filterContext.HttpContext.Response.Output 또는 filterContext.HttpContext.Response.OutputStream을 통해 출력 작성자/출력 스트림에 각각 액세스 할 수 있습니다.

+0

:

using System; namespace Sample { [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class SampleFilter : ActionFilterAttribute { public override void OnActionExecuted(ActionExecutedContext filterContext) { base.OnActionExecuted(filterContext); } } } 

는 다음과 같이 사용자의 액션을 장식 출력 스트림은 당신이 원하는 것을위한 ** 최상의 ** 또는 ** 좋은 ** 솔루션입니다. 그러나 우리가 취하고있는 접근 방식에 대해 더 많이 알아야 할 필요가 있다고 대답합니다. –

0

작업 후 발생하는 필터를 만들기는 다음과 같이, excuted있다 :이와 템퍼링 것을 의미하는 것은 아니다

[SampleFilter] 
public virtual ActionResult Index() 
{ 
    return View(); 
} 
관련 문제