写了个定时执行远程抓取url,怎样在这里加一个线程,防止程序卡掉
.....
....
....
private void timer1_Tick(object sender, EventArgs e)
{
count++;
String fileName = System.Configuration.ConfigurationManager.AppSettings["fileName"];
String url = System.Configuration.ConfigurationManager.AppSettings["url"]; try
{
//编码
Encoding encode = Encoding.GetEncoding("gb2312");
//请求URL
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse rep = (HttpWebResponse)req.GetResponse();
//创建StreamReader与StreamWriter文件流对象
StreamReader sr = new StreamReader(rep.GetResponseStream(), encode);
StreamWriter sw = new StreamWriter(fileName, false, encode);
//写入内容
sw.Write(sr.ReadToEnd());
//清理当前缓存区,并将缓存写入文件
sw.Flush();
//释放相关对象资源
sw.Close();
sw.Dispose();
sr.Close();
sr.Dispose(); }
finally
{ }
textBox2.Text = "当前执行时间是:" + DateTime.Now.ToString("yyyy-MM-dd HH;mm:ss")
+ "\r\n\r\n" + "执行次数:" + count; }
.....
....
....
private void timer1_Tick(object sender, EventArgs e)
{
count++;
String fileName = System.Configuration.ConfigurationManager.AppSettings["fileName"];
String url = System.Configuration.ConfigurationManager.AppSettings["url"]; try
{
//编码
Encoding encode = Encoding.GetEncoding("gb2312");
//请求URL
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse rep = (HttpWebResponse)req.GetResponse();
//创建StreamReader与StreamWriter文件流对象
StreamReader sr = new StreamReader(rep.GetResponseStream(), encode);
StreamWriter sw = new StreamWriter(fileName, false, encode);
//写入内容
sw.Write(sr.ReadToEnd());
//清理当前缓存区,并将缓存写入文件
sw.Flush();
//释放相关对象资源
sw.Close();
sw.Dispose();
sr.Close();
sr.Dispose(); }
finally
{ }
textBox2.Text = "当前执行时间是:" + DateTime.Now.ToString("yyyy-MM-dd HH;mm:ss")
+ "\r\n\r\n" + "执行次数:" + count; }
private System.Threading.Timer timerlisten;
timerlisten = new System.Threading.Timer(new TimerCallback(displayProgess), this, 5000, 100);void displayProgess(object obj)
{
//执行的东西
}
Application.DoEvents();