白屏问题,如果用户在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);

而已.希望能帮助到你.

猜你在找的asp.Net相关文章