簡體   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