HttpWebRequest获得超时问题

时间:2013-10-22 10:04:30

标签: asp.net httpwebrequest

我有一个函数UpdateCRM(),它将向我的CRM服务器发出http web请求以更新数据。 如果它一旦工作正常就打电话。但是当我们在一个循环中调用UpdateCRM()时,它会在更新一些记录后得到时间。 有没有更好的方法来解决这个问题。

这是我的UpdateCRM()方法。

function UpdateCRM()
{
HttpWebRequest httpWebRequest = null;
//Convert object to JSON
sJSON = oSerializer.Serialize(emailSendoutList);

httpWebRequest = (HttpWebRequest)WebRequest.Create(ConfigUtility.crmUpdateServiceURL + "/UpdateCrmAfterEMailed");
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
httpWebRequest.Timeout = 600000;
httpWebRequest.ReadWriteTimeout = 600000;
httpWebRequest.ContentLength = sJSON.Length;

using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(sJSON);
streamWriter.Flush();
streamWriter.Close();
}

}

1 个答案:

答案 0 :(得分:1)

使用后需要关闭对象。

尝试使用streamwriter后添加此内容。

httpWebRequest.abort();

编辑:

尝试这样,也许它的响应导致问题?

HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
using (var streamWriter = new StreamWriter(Response.GetRequestStream()))
{
streamWriter.Write(sJSON);
streamWriter.Flush();
streamWriter.Close();
}
Response.Close();