asp.net-mvc – MVC,不再“假设”使用HttpContext.Current了吗?
|
在 here之后的某个人评论说,在使用MVC时不应该使用HttpContext.Current,而应该使用 ControllerBase.ControllerContext.在某些方面,这是有道理的,但在其他方面却没有. 例如,ControllerContext是一个实例变量,所以我想引用的所有地方,比如我的Session变量,我需要有一个对Controller的引用?为什么我们“不应该”在MVC中使用HttpContext.Current,当你还可以的时候?是否有一个“适当的”MVC“方式”来获取我的Session对象而无需引用Controller? 我知道测试方面,它在许多其他地方声明的原因更好,但我正在研究管理Session变量和引用HttpContext.Current的项目,我想知道是否有更好的方法来获取Session对象没有传递对控制器的引用. 解决方法这主要是因为如果使用HttpContext.Current,单元测试将非常困难,因为使用普通的模拟框架无法模拟此值.HttpContext.Current也会使代码更加脆弱,因为它可能被滥用和滥用.例如,您可以在业务层中使用它,因为它很方便,但如果您选择使用ASP.NET之外的替代表示层,它将会中断. 通常,静态方法现在不受欢迎,因为它们不能依赖注入. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 与asp.net mvc的dotnetopenauth证明太沮丧使用
- asp.net-mvc – MVC导航到不同的控制器视图
- asp.net-mvc – mvc razor @helper可以返回非编码标签吗?
- asp.net – updatepanel中的文本框的问题 – 不会导致OnTex
- asp.net – 如何在标记中使用扩展和实用程序方法?
- asp.net-mvc-3 – ASP.NET MVC 3:如何在控制器方法中获取用
- 在ASP.Net日历控件中默认选择当前日期
- asp.net-core – .Net CORE Dapper连接字符串?
- 在当前的HTTPContext中生成一个新的ASP.NET会话
- asp.net – 将自动Web测试集成到构建过程中
- 使用ASP.NET成员资格提供程序限制对WCF REST(web
- entity-framework – 如果使用Entity Framework,
- ASP.Net MVC,使用javascript提交表单
- asp.net-mvc – 在MVC文件上传中Request.files为
- asp.net – 奇数编号单元格未添加到Pdf
- asp.net-core – 如何在使用asp.net 5时更改登录
- asp.net核心 – MVC6是否支持预编译视图?
- asp.net-core – .Net 5中的调试设置
- 在ASP.NET中的OpenID认证?
- asp.net-mvc-3 – ASP.NET MVC3 – DateTime格式
