(HttpWebResponse)Request.GetResponse()在所有请求中返回错误,在第二次请求时返回太慢但在其他请求中快

时间:2017-02-22 07:27:49

标签: c# fileserver

我的网站上有4个文件上传控件,每个控件都会使用(HttpWebResponse)Request.GetResponse()访问我的文件服务器第一个上传速度很快,但第二个上传速度非常慢,但第三次和第四次上传也很快。所有文件都是一样的。我使用(System.Net.HttpWebResponse)Request.GetResponse();因为我想访问/获取该服务器中的文件夹。

我检查了我的日志,结果发现所有上传错误The remote server returned an error: (405) Method Not Allowed.那么为什么第二次上传速度较慢,需要20秒获得响应,但剩下的请求就像是一秒钟。

这是我的原始代码:

try
{
      Response = (System.Net.HttpWebResponse)Request.GetResponse();
      Response.Close();
}
      catch (Exception)
{

我已尝试将Request.Proxy设置为null以及

using (Response = (HttpWebResponse)Request.GetResponse())
{
}

以及

<system.net>
 <connectionManagement>
   <add address="*" maxconnection="20"/>
 </connectionManagement>
</system.net>

以及

httpWebRequest.Abort();

事实证明(System.Net.HttpWebResponse)Request.GetResponse();会返回错误。我如何关闭它?

1 个答案:

答案 0 :(得分:0)

如果您对每个请求收到405条回复,那么您现在应该集中精力了解为什么不允许您对文件服务器的请求。

您可以访问该服务器上的其他端点吗?您是否有权访问该服务器?

这个指向HttpStatus代码的链接更多地解释了405意味着什么https://httpstatuses.com/405

此Stackoverflow问题的答案可能会让您开始调查问题。 Server returned HTTP response code: 405 for URL

修改

我也不确定为什么你说使用Request.GetResponse创建一个文件夹? https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse(v=vs.110).aspx