ASP.Net延迟,如何判断它是客户端还是服务器?

时间:2011-05-18 18:02:21

标签: asp.net httphandler delay

我在网站上有一个通用处理程序。当我直接进入它时,它会立即响应。当我尝试从.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();

我不认为这条线在一周前就已经花了这么长时间,但我没有任何数据支持这一点。任何想法可能是什么问题?如果我在浏览器中点击了网址,它会立即响应是否有任何工具可以用来判断它是我的机器还是服务器,或者......我甚至都不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

这可能是因为GetRequestStream是一个同步方法并且在返回之前将其全部缓存了吗?也许您应该尝试调用异步版本并处理数据。