Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET超时设置(IE和Chrome)_C#_Java_.net_Asp.net_Wcf - Fatal编程技术网

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

C# ASP.NET超时设置(IE和Chrome),c#,java,.net,asp.net,wcf,C#,Java,.net,Asp.net,Wcf,我有一个asp.net web应用程序。它通过WCF与业务层通信。有一个功能需要一个多小时才能完成。这是一个常见的同步调用。 出于测试目的,在业务层(服务)中使用Thread.Sleep来重现此功能 System.Threading.Thread.Sleep(4200000); 我正在用VisualStudio2005开发环境(不是IIS)测试它。当我使用chrome作为网络浏览器进行测试时,它甚至可以等待一个小时。但当我使用IE6进行测试时,它正好在一小时后退出应用程序,并导航到我们的登录页

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

System.Threading.Thread.Sleep(4200000);
我正在用VisualStudio2005开发环境(不是IIS)测试它。当我使用chrome作为网络浏览器进行测试时,它甚至可以等待一个小时。但当我使用IE6进行测试时,它正好在一小时后退出应用程序,并导航到我们的登录页面

关于我应该做哪些设置,即使在1小时后也不注销IE,有什么想法吗?

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

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

谢谢


Lijo

将此添加到您的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服务,那么我建议您重构代码

让这样一个长时间运行的过程同时发生,这确实不是一个好的做法

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

如果您编写了一个双工服务,那么您的客户机可能仍然需要很长时间,因为它在这么长的时间内不会得到回调


另一个解决方案是使用单向服务,然后创建另一个服务来轮询操作是否完成,正如Pete2k所建议的那样,我建议避免这样的设计。运行异步执行,将结果保存到数据库,然后根据需要显示结果,这会更加健壮仅使用IE6以外的浏览器不是此特定功能的选项?我同意Alex的观点。拥有如此长时间运行的HTTP请求没有任何意义。在大多数环境中,如果不是浏览器,则网络上的路由器/交换机很可能会使HTTP连接超时。@thekip:存在与其他浏览器不兼容的第三方控件。因此,我们需要让它与IE一起工作。@VinayC如何确定是哪一个导致HTTP连接超时?有什么工具/方法可以解决这个问题吗?tcpdump能帮上忙吗?为什么chrome没有出现这种情况?