我来自“常规”asp.net,所以我对 MVC 有点(完全)迷失了。
我用自己的 asp.net 编程模式做什么:
- 我有一个自定义类对象,它代表“页面”及其属性(如 mypage.loadJquery、mypage.isLogged、mypage.Title、自定义缓存逻辑等)
- 这个类在每个 ASHX 页面上实例化一次,然后我操作一个字符串生成器来生成 HTML,并在最后将它吐在浏览器上。
- 在 ASHX 页面上只有一个请求,我可以在调用最终 response.write 时使用在顶部实例化的页面对象直到结束
现在我正在尝试使用 MVC。我“有点”理解 M/V/C 模型和路由概念。我想保留我的自定义“页面”对象,但我失去了页面生命周期,而且我绝对不知道如何在每次调用的顶部实例化我的页面对象一次。
我需要跨每个模型、控制器、视图、部分视图、htmlhelper 的实例化 ONCE 共享对象...
我意识到此时 MVC 模式可能会让我感到困惑,但是我该如何尝试重现我的需求呢?
(非常具体的例子:在每个请求上,我都需要检查用户是否通过他的 cookie 登录。如果是,我会往返数据库以获取用户信息。然后我确实需要在每个模型/控制器/视图上的这些信息应用程序,但当然不想每次都回滚到安全检查和数据库查询,我怎样才能在整个 mvc cyle 上获得这些信息?)