c# - Nitpicky ReSharper 行为,对 Request.Cookies 的空引用

标签 c# asp.net-mvc cookies resharper nullreferenceexception

这真是一件愚蠢的小事,但我是个顽固的人,当 R# (6.1) 下划线时,我通常想“修复”它。我正在处理一个 MVC4 项目,并使用 cookie 将 ID 值从一个 Controller 传递到另一个 Controller 。我仍然是一个 MVC 新手,所以也许有更好的方法来做到这一点。无论哪种方式,我都在检查 cookie 是否存在,然后像这样检索它的值:

var idCookieString = string.Empty;
if(Request.Cookies.AllKeys.Contains("id"))
{
    idCookieString = Request.Cookies["id"].Value;
}

令人烦恼的是 R# 调用 Request.Cookies["id"] 作为可能的空引用异常,即使我正在检查 cookie 是否存在于 if 语句。在尝试检索 cookie 之前,是否有更好的方法来检查它是否存在,或者我应该只在其上放置一个 R# 忽略?

最佳答案

R# 不知道 Request.Cookies.AllKeys.Contains("id") 实际上是检查 Request.Cookies["id"].Value 是否会返回任何内容。所以是的,您必须添加一个 R# 忽略或添加一行额外的无用代码:

if (Request.Cookies["id"] != null)

据我所知,没有其他办法。

关于c# - Nitpicky ReSharper 行为,对 Request.Cookies 的空引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10316992/

相关文章:

c# - 如何在失去焦点时关闭 WPF 弹出窗口

c# - UWP 打印需要扩展到多个页面的长数据网格

java - JxBrowser:cookie中的url是什么意思?

c# - 正则表达式匹配未完成

c# - ASP.NET MVC 通用存储库

c# - 从另一个 Controller 查看到字符串

asp.net-mvc - 为什么实体类上的可审计属性不在数据库中生成列?

javascript - 如何检索 cookie 的值?

ajax - 三星互联网浏览器忽略 Ajax 请求中的 set-cookie

C# 转换字符串以用于逻辑条件