From a54c5e1eb80612e48a36f10ce9919c4e61a59794 Mon Sep 17 00:00:00 2001 From: Virtuworks Date: Mon, 14 Jan 2013 17:11:20 -0500 Subject: [PATCH] Fix issue with Web Scheduler crashing Enterprise Server --- .../Code/SchedulerTasks/CheckWebSiteTask.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs index fcd83826..c16812d9 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/SchedulerTasks/CheckWebSiteTask.cs @@ -31,6 +31,7 @@ using System.IO; using System.Net; using System.Collections.Generic; using System.Text; +using System.Threading; namespace WebsitePanel.EnterpriseServer { @@ -166,6 +167,7 @@ namespace WebsitePanel.EnterpriseServer WebSiteResponse result = new WebSiteResponse(); HttpWebResponse resp = null; StringBuilder sb = new StringBuilder(); + Stream respStream = null; try { WebRequest req = WebRequest.Create(url); @@ -177,7 +179,7 @@ namespace WebsitePanel.EnterpriseServer } resp = (HttpWebResponse)req.GetResponse(); - Stream respStream = resp.GetResponseStream(); + respStream = resp.GetResponseStream(); string charSet = !String.IsNullOrEmpty(resp.CharacterSet) ? resp.CharacterSet : "utf-8"; Encoding encode = System.Text.Encoding.GetEncoding(charSet); @@ -196,6 +198,9 @@ namespace WebsitePanel.EnterpriseServer result.Status = (int)resp.StatusCode; result.Text = sb.ToString(); } + catch (ThreadAbortException) + { + } catch (WebException ex) { result.Status = (int)((HttpWebResponse)ex.Response).StatusCode; @@ -210,10 +215,16 @@ namespace WebsitePanel.EnterpriseServer } finally { + if (respStream != null) + { + respStream.Close(); + } + if (resp != null) { resp.Close(); } + } return result;