2

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

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

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

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

有任何想法吗?

4

3 回答 3

3

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

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

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

于 2011-02-25T10:58:03.763 回答
0

这很可能是执行超时。检查你的服务器配置,官方文档在这里:httpRuntime Element (ASP.NET Settings Schema)

于 2011-02-25T11:00:02.873 回答
0

可能是 Web 服务无权访问网络共享。您是否尝试将文件移动到本地驱动器?

于 2011-02-25T10:56:25.053 回答