在ASP.net中,如何使用帮助程序类中的Cookie和Session?

Jef*_*ake 1 asp.net cookies session

我在每个aspx页面访问的单个静态类中处理用户数据的加载.我想在此过程中添加支持Cookie和Session的功能.但是,我发现Response.Cookies对象和Session对象都不能用于我的util类.

基本上,我现在拥有的是(在它自己的文件中):

namespace myProject
{    
    static class myUtil
    {
        public static myProject.User LoadUser()
        {
            //Look up user
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做的是:

namespace myProject
{    
    static class myUtil
    {
        public static myProject.User LoadUser()
        {
            if (Session['user'] != null)
            { user = Session['user']; }
            else if (Response.Cookies['user'] != null)
            { user = Response.Cookies['user']; }
            else
            {               
               //Look up user
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?在当前实现中,对Session和Response.Cookies的所有引用都被视为未声明的对象.

作为参考,以下是该类的当前导入:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text.RegularExpressions;
using System.Web.UI.Page;
using System.Web.UI.WebControls;
Run Code Online (Sandbox Code Playgroud)

Pan*_*kaj 5

类文件中的会话

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.SessionState;  
/// <summary>  
/// Summary description for GetSessionHelper  
/// </summary>  
public class SessionHelper : IRequiresSessionState  
{  
    public object GetSession(string key)  
    {  
        //check session   
        if (HttpContext.Current.Session[key] != null)  
        {  
            //return session value  
            return HttpContext.Current.Session[key];  
        }  
        else  
        {  
            //return empty string  
            return string.Empty;  
        }  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

类文件中的Cookie

 if (HttpContext.Current.Request.Cookies["CodeF"] != null)
 {
    string background = HttpContext.Current.Request.Cookies["CodeF"]["BackImage"].ToString();
        }
Run Code Online (Sandbox Code Playgroud)