0

我有一个 ASP.NET Web 应用程序,部分允许用户上传(和下载)文档。上传也不是很好,但是我的下载对话框有一个严重的问题,我不知道为什么。

这些文件存储在与代码不在同一台机器上的共享上。我正在尝试使用文件重载文件(位置、mimetype、显示名称)通过 FilePathResult 发送下载。

当用户单击下载链接时,它将打开一个新的空白页面并开始加载动画,但对于较大的文件(最大 25 mb)会坚持几分钟,然后显示保存/下载对话框,然后实际下载文件大约需要 5 秒钟。

我一直在寻找和寻找,到目前为止,我发现的唯一一件事是 FilePathResult 不应该在内存中缓冲文件,而是简单地将文件交给用户下载。

有没有人知道为什么需要一个好的(定时)5m 45s 才能在只有 24 mb 的文件上显示下载对话框?我觉得 IIS 或 asp 在不应该的地方预加载了文档,即使是这样一个小文件的时间太多了......

以供参考:

        public FilePathResult DownloadFile(int id)
        {
            var file = _fileService.GetByIdForUser(id, base.LoggedInUserId);

            return File(file.Location, UploadedFileManager.DetermineContentTypeFrom(file.Extension), file.Name);
        }
4

1 回答 1

0

它不是一个“修复”,但我想我应该添加这个以防其他人有类似的问题。

事实证明,管理我们其中一个网络交换机的人员有一些设置搞砸了,我们必须提交支持票来修复它。完成此操作后,一切正常。

无论如何,问题在于他们让我们的硬件以“半双工”(单向通信)运行。我不是网络人,这正是我被告知的问题。我希望如果其他人有这个问题,这可能会提醒他们检查他们的硬件设置。

于 2012-10-26T20:12:56.423 回答