【问题标题】:Response.Cookies["MyCookie"].Value warns of null reference exceptionResponse.Cookies["MyCookie"].Value 警告空引用异常
【发布时间】:2011-08-04 18:12:35
【问题描述】:

我使用 ReSharper for VisualStudio 并且想知道为什么响应会保证以下 粗体 文本的空引用异常警告:

HttpContext.Current.Response.Cookies["MyCookie"].Value = "MyValue";

我一直都知道这是初始化新 cookie 的方法,并且只希望为 Requesting cookie 值生成此警告。 ReSharper 是在骗我吗?如果不是,那是怎么回事?非常感谢。

【问题讨论】:

  • 我个人只用过.Add,比如shown on MSDN
  • 感谢布拉德。为了谨慎起见,我实际上修改了我的代码以对应于该 MSDN 文章。它比我最初的做法要干净一些,尽管经过一些研究,我确实认为我的原始代码很好 - ReSharper 只是感到困惑。

标签: asp.net cookies resharper nullreferenceexception


【解决方案1】:

Resharper 还不够聪明,不知道这个集合会在幕后为您创建对象。

Request.Cookies 将在 cookie 不存在时返回 null...但 Response.Cookie 会在它们不存在时为您创建它们。

【讨论】:

  • 谢谢你,你是对的:“对于第一个 cookie,Cookies 集合的值是直接设置的。您可以通过这种方式将值添加到集合中,因为 Cookies 派生自一个专门的集合键入 NameObjectCollectionBase。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多