每次用户在我的网站上请求页面时,我都会执行外部API检查。但是我不希望每次调用一个动作时执行检查 - 在视图中有很多部分视图,Html.Actions和ajax控制器动作调用,并且多次检查API会减慢应用程序的速度下。
我已经尝试在我的基本控制器中覆盖OnActionExecuting
,但是每次调用一个动作时都会触发,这意味着它会触发部分等等。
我也尝试在AcquireRequestState
中实现Application _ global.asax
,但每页也会调用多次。
我想知道如果有完整的页面请求,是否有办法只执行一段代码?
答案 0 :(得分:3)
检查if (!ControllerContext.IsChildAction)
答案 1 :(得分:0)
设置bool
表示已将其执行到HttpContext.Items
集合。在执行代码之前检查bool
。
HttpContext.Items
集合在单个请求期间有效。