我在网站上有一个通用处理程序。当我直接转到它时,它会立即响应。当我尝试从.Net程序访问它时,在服务器注册请求之前有很长的暂停时间(10秒的允许或取消)。
这是我用来打服务器的代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://MYURL/fs.ashx");
request.Method = "POST";
request.ContentType = "text/xml";
// This is the line that takes 10 seconds to return
StreamWriter streamOut = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
streamOut.Write(sXMLToSend);
streamOut.Close();
XmlDocument doc = new XmlDocument();
HttpWebResponse resp = null;
resp = (HttpWebResponse)request.GetResponse();
StreamReader responseReader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
sResponse = responseReader.ReadToEnd();
Console.WriteLine(sResponse);
resp.Close();
我不认为这条线大约需要一个星期的时间,但是我没有任何数据可以支持。任何想法可能是什么问题?如果我在浏览器中点击了网址,它将立即响应。 我是否可以使用任何工具来确定它是我的机器还是服务器,或者...我什至不知道从哪里开始。
最佳答案
可能是由于GetRequestStream是一个同步方法,并且在返回之前将其全部缓冲了吗?也许您应该尝试调用异步版本并处理传入的数据。
关于asp.net - ASP.Net延迟,如何确定是客户端还是服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049045/