我有一个MVC4网页,我希望以毫秒为单位显示页面生成时间。为了帮助重用代码,我创建了一个PageHelper静态类,我想要一个'StartTimer'方法和一个'EndTimer'方法。 StartTimer返回void,EndTimer返回TimeSpan
。
因为在单个“页面点击”中可以使用几个页面,所以我将StartTime放入Session[]
变量中。
public static class PageHelpers
{
public static void StartPageTimer()
{
var StartTime = DateTime.Now;
Session["StartTime"] = StartTime;
}
public TimeSpan StopTimer()
{
var EndTime = DateTime.Now;
TimeSpan duration = (EndTime - DateTime.Parse(Session["StartTime"].ToString()));
return duration;
}
}
我面临的问题是,Session似乎在这个类中不可用....是否有某种形式的Context或者其他东西,我需要传递给类?
答案 0 :(得分:1)
您可以使用System.Web.HttpContext.Current.Session[]
。
答案 1 :(得分:0)
HttpContext.Current.Session
请参阅此文章。
How to access an ASP.NET Session object inside a static function