ASP.NET Resx资源随机提供空引用异常

时间:2017-07-08 22:28:01

标签: c# asp.net localization globalization

我正在查看我开发的网站的错误日志,并且页面中的某一行偶尔会给出一个空引用异常,非常随机。例如,随机性,它可能会在每100次点击中返回一次或两次null 这是一行:

@Resources.Global.ThankYou

这是资源文件夹的结构(Resources文件夹位于Web项目文件夹的根目录下):

enter image description here

我与错误交谈的用户似乎都在英文操作系统上,我检查的日志中的所有错误在他们传递的HTTP请求属性中都有这种相似性:

HTTP_ACCEPT_LANGUAGE:en-au

大多数但并非所有遇到问题的用户似乎都在iphone或ipad上(某些Android也是如此)。 为了尝试复制问题,我已经将英语 - 澳大利亚语推到了我的语言列表的顶部并测试了完全相同的页面,但它运行正常 - 就像其他98%的用户一样,并且选择了默认的Global.resx谢谢你的价值是英文的。

有没有人对某些用户如何获得随机空引用异常有任何想法?我将非常感谢任何反馈!

1 个答案:

答案 0 :(得分:1)

如果这有助于任何人,它最终成为ASP.NET的误导性例外。该错误实际上发生在以下行中,其中模型的属性在某些情况下为null。 ASP.NET错误地说明它在资源上。这是我能够复制的一个例子: enter image description here

错误实际上是在2行后的带圆圈的属性上,而不是在asp.net建议的行上。我希望这有帮助!