如何检查会话超时
void Session_Start(object sender, EventArgs e)
{
if (Session.IsNewSession && Session["SessionExpire"] == null)
{
//Your code
}
}
你有很多选择来做到这一点。但我不建议使用Global.asax
place 进行此类比较
选项1
这也是非常重要的方法。您可以使用HttpModule
.
选项 - 2
Base Controller class
选项 - 3
您可以将动作过滤器应用于整个控制器类,如下所示
namespace MvcApplication1.Controllers
{
[MyActionFilter]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
return View();
}
}
}
每当调用 Home 控制器公开的任何操作时——无论是 Index() 方法还是 About() 方法,Action Filter 类都会首先执行。
namespace MvcApplication1.ActionFilters
{
public class MyActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Your code for comparison
}
}
}
如果你注意上面的代码,OnActionExecuting 会在执行 Action Method 之前执行
选项 - 4
使用这种方法将只执行OnActionExecuting
for Index 方法。
namespace MvcApplication1.Controllers
{
public class DataController : Controller
{
[MyActionFilter]
public string Index()
{
//Your code for comparison
}
}
}
如何获取当前请求的 DataTokens
RouteData.Values["controller"] //to get the current Controller Name
RouteData.Values["action"] //to get the current action Name