繁体   English   中英

System.Net.WebClient“无法将数据写入传输连接”

[英]System.Net.WebClient “Unable to write data to the transport connection”

我正在尝试使用System.Net.WebClient和基本身份验证进行简单的多部分表单上传。

我对此有些麻烦,并且一直在使用Fiddler2调试我在该服务中遇到的一些401错误。

我已经到达下面的代码,该代码在Fiddler2运行时成功,但在未运行时失败,并出现以下错误:

“无法将数据写入传输连接:远程主机强行关闭了现有连接。”

代码如下:

    var wc = new MyWebClient();
    var cc = new System.Net.CredentialCache();
    cc.Add(new Uri(uri), "Basic", new System.Net.NetworkCredential(user, pass));
    wc.Credentials = cc;
    System.Net.ServicePointManager.Expect100Continue = false;
    wc.UploadFile(uri +  folder, file);
    wc.DownloadString(uri + folder).Dump();
    return;

class MyWebClient : System.Net.WebClient
{
    protected override System.Net.WebRequest GetWebRequest(Uri address)
    {
        System.Net.WebRequest request = base.GetWebRequest(address);
        if (request is System.Net.HttpWebRequest)
        {
            (request as System.Net.HttpWebRequest).KeepAlive = false;
        }
        return request;
    }
}

在两次使用客户端时,您将禁用保持活动状态。 我相信那是你的问题。

如果删除下载位,仅保留上传,会发生什么?

更新

我知道使用非基本/摘要涉及往返,并且在将keep-alive设置为false但不确定基本情况下将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM