代码之家  ›  专栏  ›  技术社区  ›  TonE

HttpContext之间的区别。电流和控制器。MVC ASP中的上下文。网

  •  74
  • TonE  · 技术社区  · 17 年前

    我正在开发一个MVC ASP。NET应用程序。我对两者都比较陌生。

    在控制器中,我试图获取当前登录用户,对此似乎有两种方法:

    System.Web.HttpContext.Current.User.Identity.Name
    

    HttpContext.User.Identity.Name
    

    它们之间有什么区别?据我所知,在MVC框架中,控制器将当前HttpContext存储为属性,因此这些方法是相同的。对吗?

    2 回复  |  直到 10 年前
        1
  •  93
  •   Lucero    17 年前

    是的,它们通常是相同的。但是,如果您正在使用其他线程,则不会使用它们; System.Web.HttpContext.Current 是线程静态的。

        2
  •  27
  •   Levi    17 年前

    控制器提供的上下文(不是静态HttpContext.Current)是可模拟的。如果你对代码的单元测试感兴趣,那么创建一个模拟的ControllerContext并在Controller上设置它通常比通过HttpContext要容易得多。电流。否则为控制器上下文。HttpContext指向与HttpContext相同的数据。电流。