Asp.net mvc MVC视图是否有一个不会执行HttpPost操作的超时?

Asp.net mvc MVC视图是否有一个不会执行HttpPost操作的超时?,asp.net-mvc,session-timeout,Asp.net Mvc,Session Timeout,我有一个类似的表格 @using (Html.BeginForm()) { @* Model elements go here *@ <input type="submit" value="Save" /> } 加载页面并立即运行时,此代码的功能与预期相同,但我无法亲自重新创建此问题的其他用户抱怨,如果等待时间较长,页面空闲时间超过10分钟,单击“保存”按钮,页面会闪烁并重新加载回发页面,但数据尚未保存 我在try/catch中添加了错误日志,试图找出问题所在,但我

我有一个类似的表格

@using (Html.BeginForm())
{
    @* Model elements go here *@
    <input type="submit" value="Save" />
}
加载页面并立即运行时,此代码的功能与预期相同,但我无法亲自重新创建此问题的其他用户抱怨,如果等待时间较长,页面空闲时间超过10分钟,单击“保存”按钮,页面会闪烁并重新加载回发页面,但数据尚未保存

我在try/catch中添加了错误日志,试图找出问题所在,但我没有收到错误电子邮件,用户也没有看到catch块提供的前端“save failed”消息


我只能想象这是一个会话问题——但是我已经在这个页面上删除了我自己对会话变量的所有使用,我想知道MVC是否有自己的超时时间,用于一个只会丢弃所有模型信息的视图。如果是这样,有没有办法提高这一点?我还应该寻找其他的可能性吗?

这对我来说也是一个会议问题。也许您可以尝试将会话超时设置为一个非常小的值,例如1分钟,然后查看该行为是否会在该时间后自我复制?或者,您可以尝试在页面上重新启动IIS-这将有效地刷新会话。如果这确实是问题所在,您可以随时增加会话状态超时

如果您不知道,可以在web.config中修改会话状态超时值:

<sessionState timeout="30" />

或者在特定站点的会话状态下的IIS管理器中。

IIS不控制此操作吗?看起来默认值为110秒:在任何情况下,我不认为这是您的问题,我认为您的逻辑可能对不同的用户有不同的行为。是否也存在验证问题?我不确定这是否是会话问题,但无论是什么问题,都应该存在错误,因此我建议花一点时间来发现此错误。看一看这篇文章展示了如何在web API上实现这一点,但也适用于MVC。@Marko我还认为这可能是一个验证问题,因为它使用的数据库不是我自己设计的。我在try-catch周围添加了validation和Model.IsValid,但也没有在那里捕获任何内容。只是尝试将其设置为timeout=1,但无法重现所述的问题。在接下来的30分钟里,当我做其他工作时,我现在让它坐着,看看它是否会改变它为我复制错误的想法
<sessionState timeout="30" />