C# MVC中的会话使用

C# MVC中的会话使用,c#,asp.net-mvc,asp.net-mvc-4,session,C#,Asp.net Mvc,Asp.net Mvc 4,Session,我有一个助手课程 namespace ShopCart.BAL { public static class SessionHelper { public static ShopUser myShopUser { get { return HttpContext.Current.Session["myShopUser"] as ShopUser;

我有一个助手课程

namespace ShopCart.BAL
{
    public static class SessionHelper
    {
        public static ShopUser myShopUser
        {
            get
            {
                return HttpContext.Current.Session["myShopUser"] as ShopUser;
            }

            set
            {
                HttpContext.Current.Session["myShopUser"] = value;
            }
        }


    }

}
进一步的ShopUser类看起来像

public class ShopUser 
{

    public string LoginID { get; set; }
    public string SessionID { get; set; }

    public long UserId { get; set; }

    public long ShoppingCartId { get; set; }

    public bool? Status { get; set; }

}
现在我想知道如何为特定属性设置会话? SessionHelper.Status=false//它在SessionHelper中创建一个新属性 如何使用上述类创建会话

@莫森:你的回答是正确的。 此外

public ActionResult Index() {
 ShopLogin objShopLogin = new ShopLogin (); 
objShopLogin .checkUser();
 }

public class ShopLogin {
   public string checkUser() 
  { 
     SessionHelper.myShopUser.Status = false;
  }
}
如您所见,我在这里创建类对象,如ShopLogin objShopLogin=newshopLogin(); 您能告诉我,我可以在这里使用依赖项注入来避免创建这样的类对象吗?

使用

SessionHelper.myShopUser.Status = false
编辑

对。只需将
static
修饰符添加到
CheckUser
方法

public ActionResult Index() {
 ShopLogin.checkUser();
 }

public class ShopLogin {
   public static string checkUser() 
   { 
       SessionHelper.myShopUser.Status = false;
   }
}

谢谢@mohsen,这很有效。您能告诉我如何添加依赖项注入(nInject),这样我就不需要创建“新”对象了。ShopUser objShopUser=新ShopUser();public string checkUser(){SessionHelper.myShopUser.Status=false;}public ActionResult Index(){ShopUser objShopUser=new ShopUser();objShopUser.checkUser();}然后公共类登录{public string checkUser(){SessionHelper.myShopUser.Status=false;}我想避免创建类似'ShopUser objShopUser=new ShopUser()'的类对象。我可以在这里使用依赖项注入(nInject)来避免创建新对象并实现相同的功能吗?你的意思是什么?请将有问题的代码插入到commentsif中(SessionHelper.myShopUser.Status==null)抛出nullreference exceptioncheckUser()在不同的类中,它在“Login”中,因此SessionHelper.myShopUser.checkUser()是;不会工作SessionHelper.myShopUser.Status=false;如果它在另一个类中,也会抛出nullreference异常in
Index
method?我编辑了这个问题,我错了,是之前的问题,现在是objShopLogin.checkUser();其中,objShopLogin是登录的对象