C#工程中,Quartz定时调度job,设置每隔3小时执行作业,定时向第三方系统推送信息。在执行到一定时间后报引发类型为“System.OutOfMemoryException”的异常。
请各位帮忙看看,该问题如何解决。谢谢!
推送的日志文件信息如下:
2017-10-26 14:57:10 服务启动
2017-10-26 15:00:09 成功推送了信息!
2017-10-26 18:00:08 成功推送了信息!
2017-10-26 21:00:28 成功推送了信息!
2017-10-27 00:00:03 成功推送了信息!
2017-10-27 03:00:00 异常信息============引发类型为“System.OutOfMemoryException”的异常。
2017-10-27 03:00:02 成功推送了材料计划!
推送信息代码如下:
void SendMess(string username)
{
try
{
string ToUserName, content, title, url;
ToUserName = username;
content = CGlobal.IndexAddr;
title = "";
url = "";
Files.GetWebPage(CGlobal.webServiceAddr + "?ToUserName=" + ToUserName + "&content=" + content + "&title=" + title + "&url=" + url + "", "您好!", "", Encoding.UTF8);
CFile.WriteLog("成功推送了信息!");
}
catch (Exception ex)
{
CFile.WriteLog("异常信息============" + ex.Message);
}
}
Files.GetWebPage 方法代码如下 :
public class Files {
public static string GetWebPage(string url, string indata, string dataurl, Encoding encoding)
{
string postData = indata;
byte[] byteArray = encoding.GetBytes(postData);
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "text/xml";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
StreamWriter swstream = new StreamWriter("c:\1.txt", false, System.Text.Encoding.Default);
swstream.Write(responseFromServer);
swstream.Close();
return responseFromServer;
}
}