asp.net-mvc – MVC,不再“假设”使用HttpContext.Current了吗?
发布时间:2020-12-16 00:19:11 所属栏目:asp.Net 来源:网络整理
导读:在 here之后的某个人评论说,在使用MVC时不应该使用HttpContext.Current,而应该使用 ControllerBase.ControllerContext.在某些方面,这是有道理的,但在其他方面却没有. 例如,ControllerContext是一个实例变量,所以我想引用的所有地方,比如我的Session变量,我需
在
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-core – 什么是aspnet50和aspnetcore50?
- IIS7 – 在ASP中指定内容长度标头会导致“连接重置”错误
- .net – 为所有操作调用ActionFilterAttribute
- asp.net – 不能在aspx页面的部分使用Response.Write?
- asp.net-mvc – 需要经过身份验证的用户的Ajax调用操作方法
- 你如何在ASP.NET中配置httpOnlyCookies?
- asp.net – CKEditor MVC 3实现
- ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
- asp.net-mvc – 在Razor web helper中使用html助手
- asp.net-mvc – Visual Studio不允许在MVC视图中使用断点
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC自定义路由搜索
- asp.net – Linq查询返回同一行12次
- Azure Event Hub 技术研究系列3-Event Hub接收事
- asp.net-mvc – 如何使用ASP.NET MVC 2在NHibern
- asp.net-mvc – 将html标记传递给ASP.NET用户控件
- asp.net-mvc – 在ASP.NET MVC中,使用@RenderSec
- asp.net-mvc – 在ASP.NET MVC3 Razor的渲染时间
- AutoMapper系列:介绍、使用
- asp.net – specflow的.msi安装程序和它的nuget包
- asp.net – ScriptResource.axd和.Net 4
热点阅读