加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

白屏问题,如果用户在asp.net页面中保持空闲状态

发布时间:2020-12-16 04:29:28 所属栏目:asp.Net 来源:网络整理
导读:在我们的ASP.NET网站中,其中一个页面中有一些标签.每个选项卡代表不同的内容,从一个选项卡移动到另一个选项卡会重新加载整个页面.如果我当前在其中一个标签中并在那里闲置大约一分钟或更长时间然后转到另一个标签,则只会出现一个白色的空白屏幕.(浏览器中没
在我们的ASP.NET网站中,其中一个页面中有一些标签.每个选项卡代表不同的内容,从一个选项卡移动到另一个选项卡会重新加载整个页面.如果我当前在其中一个标签中并在那里闲置大约一分钟或更长时间然后转到另一个标签,则只会出现一个白色的空白屏幕.(浏览器中没有页面源代码信息) .

遗憾的是,同样的问题在较低的测试环境中对同一网站来说根本不可重现.问题仅发生在网站的生产版本中.

是否有IIS设置或web.config设置,我应该更改以解决此问题.我相信有关网页的源代码不是理由.

解决方法

这可能是因为会话超时已达到结束会话的限制.

在这种情况下,您有三种可能的解决方案

第一

您可以尝试编辑位于应用程序根目录的web.config文件以延长会话超时.尝试这样的事情:

<sessionState mode="StateServer" timeout="500">

</sessionState>

根据MSDN,您可以将超时设置为525,601分钟(1年).

第二

如果它不起作用并且您具有访问权限,则可以尝试在IIS上编辑超时:

Open the IIS,click on the Application Pools,Select the Application
pool for your application.

Right Click on that,Select Properties.

In the Performance tab,Set the idle timeout as your desired minutes
for “shutdown worker processes after being idle for ….. minutes”.

IMPORTANT: Apart from this you have to set the timeout in web.config as said above.

第三

您可以创建一个在后台执行的ajax函数,防止会话过期:

function keepSessionAlive(mod) {
mod.open("GET","blank.html",true);            
mod.onreadystatechange = function() {
    if (mod.readyState == 4) {          
        document.getElementById("#blankDiv").innerHTML = mod.responseText;
    }
};  
mod.send(null)
}
setInterval('keepSessionAlive()',100000);

而已.希望能帮助到你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读