.net – 可以为空的枚举类型的奇怪行为
发布时间:2021-02-21 08:00:40 所属栏目:asp.Net 来源:互联网
导读:我正在使用Global.asax通过Application_EndRequest事件在每个请求结束时执行日志记录.但是,我看到HTTPContext.Current.Items集合中存储的某些值的奇怪行为. 下面是可以为空的枚举的调试输出.您可以看到有一个值,但HasValue已解析为False?! {System.Nullable
|
我正在使用Global.asax通过Application_EndRequest事件在每个请求结束时执行日志记录.但是,我看到HTTPContext.Current.Items集合中存储的某些值的奇怪行为. 下面是可以为空的枚举的调试输出.您可以看到有一个值,但HasValue已解析为False?! {System.Nullable(Of AreaNameEnum)}
HasValue: False
hasValue: False
Value: {System.InvalidOperationException}
value: ADMIN {0}
我猜测在请求生命周期中访问HTTPContext.Current已经太晚了 – 但它似乎有时可行,有时却不行.任何人都可以更清楚地了解到底发生了什么? 谢谢 解决方法Nullable是一个结构,包含一个布尔值hasValue和一个T值,其中T是一个值类型.在这种情况下,枚举.在这种情况下,枚举必须具有一些值,默认值为0,但是公共值会抛出异常,因为hasValue为false.你所看到的是Nullable如何做它的内部结构.当hasValue为false时,您无法读取具有任何值的内部值字段中的任何内容.毕竟,如果value可以包含null,那么在这里使用Nullable将没有任何意义. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 已经使用相同的参数类型定义了一个名为“Cr
- asp.net – Web Forms MVP项目有哪些好的资源?
- asp-classic – 如何使用Microsoft.XMLHTTP指定代理配置?
- asp.net-mvc – AJAX POST到MVC Controller显示302错误
- Autofac和ASP.NET Web API ApiController
- ASP.net Substitution 页面缓存而部分不缓存的实现方法
- 用ADO.NET处理层次数据
- 如何保护我的ASP.NET AJAX应用程序?
- asp.net – LINQ:不支持查询运算符’ElementAtOrDefault’
- Asp.Net MVC路由表和控制器操作
推荐文章
站长推荐
- asp.net – 哪里是.ASPXAUTH cookie
- asp.net-mvc – 无法在Web服务器上启动调试. Web
- asp.net-mvc – ASP.NET MVC – Partial View可以
- asp.net-web-api – 可以从Request对象获取当前的
- asp.net – Azure上的联合身份验证
- asp.net – 如何使用JwtSecurityTokenHandler和J
- ASP.NET Web API返回可查询的DTO?
- Asp.Net GridView删除Html样式
- ASP.NET:预编译文件的文件名生成规则
- asp.net-mvc – ControllerActionInvoker
热点阅读
