xra*_*inx 23 asp.net-mvc session
我们可以在控制器和视图中访问会话数据,如下所示:
Session["SessionKey1"]
Run Code Online (Sandbox Code Playgroud)
如何从控制器或视图以外的类访问会话值?
tva*_*son 33
我使用依赖注入并将HttpContext(或只是会话)的实例传递给需要访问Session的类.另一种方法是引用HttpContext.Current,但这会使测试更难,因为它是一个静态对象.
public ActionResult MyAction()
{
var foo = new Foo( this.HttpContext );
...
}
public class Foo
{
private HttpContextBase Context { get; set; }
public Foo( HttpContextBase context )
{
this.Context = context;
}
public void Bar()
{
var value = this.Context.Session["barKey"];
...
}
}
Run Code Online (Sandbox Code Playgroud)
Nic*_*rdi 24
你只需要通过HttpContext类似的方式调用它:
HttpContext.Current.Session["MyValue"] = "Something";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66891 次 |
| 最近记录: |