我有一个ASP.NET Web应用程序,它允许用户上传(和下载)文档。上传也不是很好,但我的下载对话框有一个严重的问题,我不知道为什么。
这些文件存储在与代码不在同一台计算机上的共享中。 我试图使用File overload File(location,mimetype,displayname)通过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);
}
答案 0 :(得分:0)
它不是一个“修复”,但我想我应该添加这个以防其他人有类似的问题。
事实证明,管理我们的一个网络交换机的人有一些设置搞砸了,我们不得不提交一张支持票来修复它。一旦完成,一切正常。
无论如何,问题在于他们的硬件运行在“半双工”(单向通信)。我不是网络人,这就是我被告知的问题。我希望如果其他人有这个问题,这可能会提醒他们检查他们的硬件设置。