要使会话保持活动状态,您所要做的就是从当前会话向页面发送请求。您可以通过 iframe 或通过 ajax 执行此操作。
如果您只是在 IFrame 中刷新页面,则响应可能是缓存的 - 因此是 304。您必须每次都发送一个新请求 -
var url = "http://domain.com/defibrillator.aspx?" + (new Date()).getTime();
例如
http://domain.com/defibrillator.aspx?1556467987987
http://domain.com/defibrillator.aspx?5448796497878
http://domain.com/defibrillator.aspx?4123165487987
....
编辑 1
或者,您可以使用Refresh HTTP 标头属性。
编辑 1.1
如果您使用的是上面提到的 codeproject 文章,请尝试使用 AJAX 而不是 iframe 对其进行建模 - 它会为您节省几个字节的额外 iframe 标记。
如果客户端已经执行了一个条件 GET 请求并且允许访问,但是文档没有被修改,服务器应该用这个状态码来响应。304 响应不能包含消息体,因此总是由头字段之后的第一个空行终止。
这意味着该请求尚未到达 ASP.NET 管道,而是直接由 IIS 本身提供服务。ASP.NET 环境不知道已发出请求。因此,它不会执行会话更新。