ASP.Net文件上传的最大大小和超时时间是多少?

3

我正在尝试上传zip文件到一个asp.net服务器。当我在VS中运行服务器时,在我的本地计算机上工作正常,但对于较大的zip包远程上传并不起作用。远程服务器正在运行IIS6。

对于小于约10mb的zip包,它在本地和远程都非常好地工作,并且已经使用了几个月。只有最近我需要上传大文件。

以下是我的上传代码:

        WebClient client = new WebClient();
        client.UploadProgressChanged += onProgress;
        client.UploadFileCompleted += onComplete;
        client.UploadFileAsync(new Uri(url), filePath);
        return client;

我用于接收的代码如下:

        Request.Files[0].SaveAs(pathToSave);

我的web.config文件如下:

<httpRuntime maxRequestLength="102400" useFullyQualifiedRedirectUrl="true" executionTimeout="5400"/>

我远程获取的错误是 Request.Files长度为0。 有任何想法或最佳调试方法吗?

远程处理较小的压缩文件是否有效? - Simen S
嘿,是的,我应该提到这一点。我已经编辑过了,但是对于小于10MB的文件,在远程上运行得很好。 - Luke Belbina
您可以在这里找到其他一些线索:上传大文件 - Jeff Sternal
2个回答

0

Webclient是HttpWebRequest的封装。我建议使用HttpWebRequest代替。

因为你无法覆盖Webclient上的超时时间。

我也遇到过同样的问题。现在我正在使用HttpWebRequest,好得多。


结果证明,正如您所说,这是Webclient的问题。我使用了这里的信息来修复它:http://stackoverflow.com/questions/1634470/webclient-uploadfile-errors - Luke Belbina

0

我强烈推荐使用Darren的asp.net上传/下载控件。在asp.net中上传大文件很麻烦。


我正在从 C# 应用程序的自动化环境上传。 - Luke Belbina
是的,我不知道当时在想什么。让我编辑一下答案。问题不在于你的maxRequestLength是多少,而是在asp.net中上传文件之前,IIS应该首先能够接受它。我猜测是IIS无法处理这个文件。 - sarvesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接