0

我在工作中使用 MVC 3 已经有一段时间了,并且一直在审查我的代码。我正在使用会话来存储我在所有操作/视图中需要的数据。

我觉得这是一个坏主意,尽管我并不完全理解为什么。所以我开始阅读并找到这篇文章:ASP.NET MVC 中的会话变量

我目前正在以这种方式访问​​我的控制器中的会话,

private SelectedReport Report
{
   get
   {
        return Session["Report"] as SelectedReport;
   }
   set
   {
        Session["Report"] = value;
   }
}

然后用 this.Report 访问它

我读过上面的方法不是最佳/好的,但我不确定为什么。

为什么我的方式不好/最佳?为什么链接中提供的方式更好?

(这可能最好作为一个概念性问题提出,但我不知道如何这样问,我认为我缺少一些 web/mvc 概念。我只是被扔进了 MVC/Web 没有先验知识,并且从不知道从哪里开始)。

4

1 回答 1

1

对于错误处理,有几个库可以为您简化事情。但除此之外,在会话中存储东西应该只在你需要对象的地方完成 在几个地方

理想情况下,如果您需要将一个对象从一个视图公开到另一个视图,您可以使用包含视图所需内容的通用基本模型,或者将内容添加到 ViewData 对象而不是会话对象。

对于错误处理,致命错误应该被捕获在 global.asax 中,对于警告,我特别为所有视图使用了一个基本模型类,其中包括通过母版页显示的警告集合。

于 2013-06-13T15:52:47.020 回答