2012-10-23 74 views
1

我有几个.NET 3.5站点在Windows 2008 R2 64位IIS 7.5 Web服务器上运行相同的代码库。我们在允许用户在服务器上管理自己的文件(上载,下载,删除)的过程中遇到问题。在我们从Windows 2003上运行IIS 6的旧服务器中移动站点之前,我们从未遇到过使用此功能的任何问题。移动后,我们有三个不同的站点完全锁定并停止执行请求。我必须重新启动应用程序池和网站才能让它们再次运行。我们将应用程序池更改为在经典模式下运行,并确保停止网站崩溃。客户端断开挂起IIS应用程序池

在分析网站历史记录时,我们发现在大约10分钟的时间内,有20到30人(一类)上传多个文件(每个0.5到2兆像素)。所以我们将问题追溯到这个文件管理功能,并决定将数据存储移到本地驱动器上。我们继续在描述用户在工作完成之前离开这些页面的机器上发生错误,因此我添加了针对Response.IsClientConnected的测试。这一切似乎都在帮助,但错误仍在继续。我们安装了一个应用程序(IIS Peek)来监视活动并报告长时间运行的请求。我将执行超时设置为五分钟,然后让IIS Peek监视任何花费更长时间的请求。我们不断在PDF和Flash文件中获得一天中的多个错误,但他们最终会清除。所以当我们从文件管理功能中收到错误时,我们根本无法管理文件(页面会超时)。我决定尝试使用AsyncPage解决方案,这似乎解决了文件管理刚刚锁定的问题。但是,我们仍然存在问题。我们在文件上传页面上遇到的错误往往会停留一个小时或更长时间,并且当存在问题时,即使使用AsyncPage解决方案,文件上传也需要相当长的时间才能完成。昨天,在其中一集中,我根本无法获得文件上传。我能够删除一个文件。因此,虽然我们的问题较少,但仍然存在文件管理功能问题。

下面是我们得到的两个不同的错误,这些错误与用户在发送响应之前断开连接有关。

异常消息:与远程主机通信时发生错误。错误代码是0x800704CD。

异常消息:与远程主机通信时发生错误。错误代码是0x80070057。

回答

0

当我们意外地将文件加载到内存中作为保存文件的一部分时,我们遇到了类似的问题。在使用实体框架(或者任何框架)和二进制/ blob数据类型时要小心。