我有一个名为AllEntities
的控制器,它有多个动作,例如GetEntityByTypeId
和GetLastEntity
我想在使用AllEntities
控制器时进行会话检查
就像假设我请求一个URL http://localhost:59656/AllEntities/GetLastEntity
然后应该检查是否分配了天气会话
将这种情况的一种方式设为条件if (Session["userName"] == null)
在此控制器的每个动作中
如何为整个AllEntities
控制器
将提供任何帮助
答案 0 :(得分:0)
您可以覆盖将在每次操作时触发的控制器Initialize
方法。我用它来填充多个视图/全部视图中所需的ViewBag元素。
public class YourController : Controller
{
protected override void Initialize(RequestContext requestContext)
{
base.Initialize(requestContext);
try
{
//do your session check here...
//alternatively, if you wanted to limit to certain actions in your controller you could say:
var actionName = requestContext.RouteData.Values["action"].ToString().ToLower();
if(actionName == "actionName" || actionName == "actionName2") {
//do your limited session work...
}
}
catch (Exception e) { }
}
...