处理辅助类中的页面会话

时间:2013-04-07 05:48:45

标签: c# asp.net-mvc-4

我有一个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或者其他东西,我需要传递给类?

2 个答案:

答案 0 :(得分:1)

您可以使用System.Web.HttpContext.Current.Session[]

答案 1 :(得分:0)

HttpContext.Current.Session

请参阅此文章。

How to access an ASP.NET Session object inside a static function