1

在一个新网站上,我有一个巨大的公式(意思是非常大,至少需要 15-20 分钟才能完成),为明年的一个客户配置整个网站。

它分布在几个选项卡之间(它是一个向导)。每次我们转到下一个选项卡时,它都会对生成下一个“页面”的服务器进行常规(非 ajax)调用。先前的信息存储在会话中(具有自定义活页夹的对象)。

在我们今天使用所有真实数据对其进行测试之前,一切都运行良好。真实数据需要反思,努力寻找正确的元素,......而且这需要时间。

我们遇到的问题是视图收到了一个部分为空的模型。会话持续时间设置为 1440 分钟(在 IIS 中也是如此)。现在我知道的是,当我第一次尝试将模型访问到我的视图中时,我得到了一个 NullException。

我从大约 1 小时开始检查控制器,但它不可能给出一个空模型。如果我把所有这些数据都非常快,我没有任何问题(但它是随机数据)。

目前我只设法在 IIS 服务器上重现此问题,并且我正在检查 elmah 日志以对其进行调试,因此重现它并不容易。

您对我应该如何调试有任何想法吗?我有点迷失在这里

4

3 回答 3

0

除了@Ufuk提供的ans之外,
您还可以每1分钟轻松发送一个ajax请求,这实际上不会做任何事情,但这样做session不会过期并且网站将继续长时间运行

于 2012-09-06T14:30:12.987 回答
0

问题是我认为会议没有足够的空间。我通过重新启动应用程序池暂时解决了我的问题。仍在寻找不意味着更改所有这些代码的解决方案。也许使用其他会话状态模式,但我需要使我的模型可序列化。

于 2012-09-17T07:12:46.110 回答
0

我认为您应该假设 session 不提供可靠的持久性。我不确定细节,但我猜它会在超过内存限制时开始释放一些元素。

如果您使用数据库来存储该信息,或者您可以引入自己的实现来持久化状态,您会更安全。

于 2012-09-06T14:26:26.397 回答