gpt4 book ai didi

asp.net-mvc - ASP .Net 和 session 状态

转载 作者:行者123 更新时间:2023-12-03 01:49:31 24 4
gpt4 key购买 nike

今天看一下 MVC 源码:

公共(public)类MvcHandler:IHttpHandler,IRequiresSessionState

为什么需要SessionState? MVC 不是试图做一些 RESTful 的事情吗?

我知道在 MVC 中使用 session 状态的原因是为了传输一些数据(不记得这个术语,但 session 状态可以用其他介质代替)。我认为我真正的问题是:

为什么我不能编写 MVC 应用程序并指定并可以选择完全关闭 session 状态?

最佳答案

由于 TempData,它需要它。 TempData 与 ViewData 类似,只不过它会进入 View 并返回一次。为了实现这一点,它需要一个 cookie。

有一种方法可以通过创建一个虚拟对象来解决这个问题,我只是不记得怎么做了。

找到了,感谢Kigg .

public class EmptyTempDataProvider : ITempDataProvider
{
public IDictionary<string, object> LoadTempData(ControllerContext controllerContext)
{
return new Dictionary<string, object>();
}

public void SaveTempData(ControllerContext controllerContext, IDictionary<string, object> values)
{
}
}

然后,您必须创建一个基本 Controller ,并在创建其他 Controller 时从它派生。

protected BaseController()
{
TempDataProvider = new EmptyTempDataProvider();
}

这应该允许您禁用 session 状态。

关于asp.net-mvc - ASP .Net 和 session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/587386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com