2014-01-30 5 views
0

사용자가 내 사이트의 페이지를 요청할 때마다 실행하려는 외부 API 검사가 있습니다. 그러나 액션이 호출 될 때마다 검사를 실행하고 싶지 않습니다. 뷰에서 Html.Actions 및 Ajax 컨트롤러 작업이 많이 호출되고 API를 여러 번 검사하면 페이지 속도가 느려집니다 하위.각 페이지 요청에 대한 실행 확인 (모든 컨트롤러 동작이 아님)

내 기본 컨트롤러에 OnActionExecuting을 무시하려했지만, 그것은 분명히이 부분 지문에 발광하는 의미 조치가 호출 될 때마다 화재 등

나는 또한 global.asax으로는 Application_ AcquireRequestState을 구현하는 시도했지만 이것은 페이지 당 여러 번 호출됩니다.

전체 페이지 요청이있는 경우에만 코드 블록을 실행하는 방법이 있는지 궁금합니다.

답변

3

확인 if (!ControllerContext.IsChildAction)

0

boolHttpContext.Items 컬렉션으로 실행되었음을 나타냅니다. 코드를 실행하기 전에 bool을 확인하십시오.

HttpContext.Items 컬렉션은 단일 요청 기간 동안 유효합니다.

관련 문제