1

我是来自 Windows 编程的 asp.net 世界的新手。会话、身份验证、页面生命周期对我来说仍然有些令人困惑的概念。

我目前正在设计一个简单的网站,只是为了学习 asp.net。(非常简单的带有标签的讨论板,有点像 stackoverflow,但简单了 100 倍)

我已经设计了数据访问层,现在开始设计业务逻辑。我的业务逻辑如下所示:

  • 后端组件:规范化数据、复杂计算等。我的后端只有 2 个类,总共可能有 15~20 个成员。
  • 供前端类访问的 Controller 静态类。

我的问题是:

  • 控制器类是必需的吗?我应该直接在 asp.net 页面中实例化每个后端组件吗?
  • 谁通常处理会话和身份验证?后端应该处理这个问题,还是应该 由前端的经理类负责所有用户会话/身份验证?
  • 我理解每次访问页面都会重新实例化网页对象,如果前端控制后端真的是一种不好的做法吗?
4

1 回答 1

1
  1. 这是 ASP.NET Web 表单还是 MVC?MVC 依赖于控制器来处理请求,但是如果你为 Web 表单构建了一个控制器类,它实际上取决于控制器在做什么以及它的用途。
  2. ASP.NET 使用页面上的 Session 属性或 httpcontext(如在 HttpContext.Current.Session 中)本机处理会话。这取决于您对“会话”的看法,因为这可能有多种含义。Membership API 可以很容易地处理身份验证(在线阅读更多信息)。
  3. 理论上这不是一个糟糕的做法,但可能会根据其设计方式实施。某些对象也可以存储在静态级别,如果它们意味着每个请求都存在一次。
于 2012-04-26T00:12:21.697 回答