C# System.Net.WebClient“;无法将数据写入传输连接“;
我正在尝试使用System.Net.WebClient和基本身份验证执行简单的多部分表单上载 我在这方面遇到了一些问题,并且一直在使用Fiddler2调试我在服务中遇到的一些401错误 我得到了下面的代码,它在Fiddler2运行时成功,但在没有运行时失败,错误如下: “无法将数据写入传输连接:远程主机强制关闭了现有连接。” 代码如下:C# System.Net.WebClient“;无法将数据写入传输连接“;,c#,webclient,C#,Webclient,我正在尝试使用System.Net.WebClient和基本身份验证执行简单的多部分表单上载 我在这方面遇到了一些问题,并且一直在使用Fiddler2调试我在服务中遇到的一些401错误 我得到了下面的代码,它在Fiddler2运行时成功,但在没有运行时失败,错误如下: “无法将数据写入传输连接:远程主机强制关闭了现有连接。” 代码如下: var wc = new MyWebClient(); var cc = new System.Net.CredentialCache();
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;
}
}
在两次使用客户端时,您正在禁用保持活动。我相信这是你的问题 如果删除下载位,只保留上载,会发生什么 更新
我知道使用non-basic/digest需要往返,如果keep-alive设置为false,则无法工作,但无法确定basic。Hi-Aliostad,下载位工作正常。无论下载是否存在,上传都不起作用。我只是想自动上传到一个简单的表单,有点尴尬的是,这么简单的东西让我受挫了。我认为这可能与预认证有关,并根据Rick Strahl的博客尝试了WebRequest@我知道上述因素,但它们似乎不是问题所在。但是,我会接受这个答案,因为我假设这与http://*.mysecurebackup.net/的类似WebDAV的功能有点特殊。这是我想要运行的东西,这样我就可以通过WebClient编程上传到我的JungleDisk。如果有人想访问详细信息,以便他们自己尝试/复制上述内容,我非常乐意提供,请给我写信。