尝试从TempData检索时出错

问题描述

我在Azure中托管了一个C#asp.net MVC应用程序。并非总是如此,但是有时,在部署之后,我会遇到一个奇怪的错误,我认为是由TempData引起的。重新启动网站可以解决此问题。

在控制器方法的结尾,我有以下模式:

TempData["sampleData"] = sampleData;

return RedirectToAction("DownloadSampleData".... 

然后,在DownloadSampleData的开头,我有

 var sampleData = TempData["sampleData"] as SampleDataDto;

收到的错误是:

Object reference not set to an instance of an object.

问题所在的行是:

var sampleData = TempData["sampleData"] as SampleDataDto;

如果站点重新启动,则问题似乎消失了。并非每次部署都发生这种情况。

我希望在此处了解更多信息,TempData是如何启动的?假设错误是因为TempData当时不可用,从而导致对象引用错误,我是否正确?

由于我似乎无法通过Google搜索找到任何相关内容,因此对可能导致这种情况的任何想法表示赞赏。

解决方法

希望这是您正在使用的实际代码。请注意,您正在尝试将变量sampleData的值保存到TempData["sampleDate"]并从sampleData检索它。这是完全不同的键,因此为空引用错误。