我有一个函数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();
}
}
答案 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();