[英]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.