Web应用程序 – WebClient.UploadFile失败,“请求已中止:请求已取消.”

Web应用程序 – WebClient.UploadFile失败,“请求已中止:请求已取消.”,第1张

概述我正在尝试使用 WebClient.UploadFile将文件上传到HTTP URL.对于1M,2M等小文件,上传成功.但是对于像12M这样的大文件,我得到了这个例外: The request was aborted: The request was canceled. 有没有人以前遇到过这个问题,你能分享一下解决方案吗? 一些信息: >服务器正在使用ASP.NET 3.5. >我上传时使用的HT 我正在尝试使用 WebClient.UploadFile将文件上传到http URL.对于1M,2M等小文件,上传成功.但是对于像12M这样的大文件,我得到了这个例外:

The request was aborted: The request was canceled.

有没有人以前遇到过这个问题,你能分享一下解决方案吗?

一些信息:

>服务器正在使用ASP.NET 3.5.
>我上传时使用的http方法是“PUT”.

解决方法@H_403_22@ 这是smwikipedia的答案中提到的解决方案.我添加了禁用写入流缓冲的功能,这可以帮助解决内存不足异常问题.

public class ExtendeDWebClIEnt : WebClIEnt{    public int Timeout { get; set; }    public new bool AllowWriteStreamBuffering { get; set; }    protected overrIDe WebRequest GetWebRequest(Uri address)    {        var request = base.GetWebRequest(address);        if (request != null)        {            request.Timeout = Timeout;            var httpRequest = request as httpWebRequest;            if (httpRequest != null)            {                httpRequest.AllowWriteStreamBuffering = AllowWriteStreamBuffering;            }        }        return request;    }    public ExtendeDWebClIEnt()    {        Timeout = 100000; // the standard http Request Timeout default    }}

用法:

var webClIEnt = new ExtendeDWebClIEnt();webClIEnt.Timeout = Timeout.Infinite;webClIEnt.AllowWriteStreamBuffering = false;webClIEnt.Uploadfile(url,filePath);
总结

以上是内存溢出为你收集整理的Web应用程序 – WebClient.UploadFile失败,“请求中止:请求已取消.”全部内容,希望文章能够帮你解决Web应用程序 – WebClient.UploadFile失败,“请求已中止:请求已取消.”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存