加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 每当我在MVC3中请求新页面时,都会创建我的控制器

发布时间:2020-12-16 03:57:59 所属栏目:asp.Net 来源:网络整理
导读:我的控制器的构造函数中有很多东西.是不是每次我使用MVC3请求新页面时,构造函数都会执行? 解决方法 需要一个控制器实例来为每个请求提供服务.为了获得这个实例(显然),每个请求都会调用控制器构造函数.这就是说你应该避免在这个构造函数中做很多事情.例如,有
我的控制器的构造函数中有很多东西.是不是每次我使用MVC3请求新页面时,构造函数都会执行?

解决方法

需要一个控制器实例来为每个请求提供服务.为了获得这个实例(显然),每个请求都会调用控制器构造函数.这就是说你应该避免在这个构造函数中做很多事情.例如,有些情况下,对于此控制器上的某些特定操作,您不需要所有这些初始化,尽管如此,如果将它放在构造函数中,它将被执行.如果您执行的任务只是实例化控制器所需的其他依赖项,那么您不应该担心性能,您应该担心正确构建应用程序,因为这个工作应该由DI框架处理.

另一个常见的问题是,在构造函数内部,您还无法访问HttpContext,并且某些属性(如Request,Response,…)可能在控制器构造函数中不可用.它们在Initialize方法中可用.

所有这些都说我建议你在构造函数中避免将代码(除了将ctor参数依赖项存储到私有变量中以便注入服务,存储库等内容).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读