ASP.NET超时设置(IE和Chrome)

本文关键字:Chrome IE NET 超时 设置 ASP | 更新日期: 2023-09-27 18:00:23

我有一个asp.net web应用程序。它通过WCF与业务层通信。有一项功能需要一个多小时才能完成。这是一个常见的同步调用。出于测试目的,Thread。睡眠是在业务层(服务)中用来重现这一功能的。

System.Threading.Thread.Sleep(4200000);

我正在用VisualStudio2005dev-env(而不是IIS)测试它。当我用chrome作为网络浏览器进行测试时,它甚至可以等待一个小时。但当我使用IE6进行测试时,它会在一个小时后注销应用程序,并导航到我们的登录页面。

有什么想法吗?我应该做什么设置才能在IE中1小时后不注销

注意:此功能仅由管理员每月使用一次。因此,花两个小时对我们来说是可以的。[为管理员创建一个像windows应用程序这样的应用程序可能是理想的。但我们现在无法想到这一点。]此外,我们不能创建任何其他Ajax调用或双工服务-这些事情是客户端不允许的。因此,唯一的解决方案是更改IE的设置(在IE或ASP.NET中)

注意:WCF是自托管的,用于测试。它是WCF中的NetTCPBinding。

感谢

Lijo

ASP.NET超时设置(IE和Chrome)

将其添加到Web.config以增加会话保持活动的时间:

<configuration>
<system.web>
    <sessionState mode="SQLServer" sqlConnectionString="Data Source=vls.dev.videolibraryserver.com;User Id=sa;Password=test;" timeout="300" />
</system.web>
</configuration>

注意:更改超时值

然后编写一个ajax控件来轮询WCF服务,完成后再重新加载页面。

如果您可以控制WCF服务,那么我建议您重构代码。

让这么长的运行过程同时发生,确实不是一种好的做法。

如果你知道这需要那么长时间,并且不担心结果,你可以使用OneWay服务,那么你的客户就不必等待回复。

如果你写了一个双工服务,那么你的客户端可能会暂停,因为它在这么长的时间内不会得到回调。

另一个解决方案是使用OneWay服务,然后创建另一个服务来轮询操作是否完成,如Peter2k 所建议的那样

相关文章: