c# - 处理大文件的 .NET Web 服务线程被中止

标签 c# asp.net web-services webserver file-processing

让您详细了解这个相当奇怪的问题。

我们有一个非常大的文本文件需要处理,它有 780MB,并且可能会变得更大。 该文件的处理位于 .NET WebService 中,从 Asp.Net 网站客户端发送请求并开始处理,然后在完成后返回到网站。

在通过 FTP 读取文件并在大约一分钟内处理文件之前。 现在该文件正在被移动到网络共享,但是当 .Net WebService 尝试处理该文件时,线程将被中止。

当我在我的机器上运行 .net webService 时,处理正常,并且完成(尽管非常慢)。 当 .net WebService 放置在 Web 服务器(由 IIS 6.0 托管)上时,它会遇到线程中止异常。

有什么想法吗?

最佳答案

如果您在自己的计算机上以 Debug模式运行它,则请求超时将被禁用。如果非调试,则启用(默认为 110 秒)。

参见http://msdn.microsoft.com/en-us/library/e1f13641.aspx

也就是说,让 Web 服务进行冗长的处理对于可扩展性来说通常不是一件好事。保持 Web [服务] 请求简短,并将长时间运行的批处理移至单独的 [Windows] 服务,以避免阻塞 IIS/asp.net 资源。

关于c# - 处理大文件的 .NET Web 服务线程被中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116304/

相关文章:

asp.net Web API 文件上传 fileData 为空

linux - 在 Linux 中使用 cURL 进行 HTTP POST 和 GET

web-services - 如何使用 Visual Studio 2010 创建 Web 服务负载测试?

java - Springboot findBy List <String> hibernate @Query

c# - 无法部署 Razor Pages 网站

c# - 在 ASP.Net 中调用 QueueUserWorkItem 期间如何保留执行线程的上下文?

javascript - 如何在CSS文件中设置高度时获取div的高度?

c# - 使用 C# 连接到 OPENVPN

javascript - Esc 键关闭 bootstrap 模式但不关闭其中的 select2 下拉菜单

c# - 行计数