我有一个函数UpdateCRM(),它将向我的客户关系管理服务器发出http请求来更新数据。如果它打过一次电话,它就能正常工作。但是,当我们在循环中调用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();
}}
发布于 2013-10-22 10:06:56
在使用对象之后,您需要关闭它。
尝试在使用流器后添加此内容。
httpWebRequest.abort();编辑:
试着这样做,也许是它的反应导致了问题?
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
using (var streamWriter = new StreamWriter(Response.GetRequestStream()))
{
streamWriter.Write(sJSON);
streamWriter.Flush();
streamWriter.Close();
}
Response.Close();https://stackoverflow.com/questions/19514737
复制相似问题