Fix issue with Web Scheduler crashing Enterprise Server

This commit is contained in:
Virtuworks 2013-01-14 17:11:20 -05:00
parent 38938c0902
commit a54c5e1eb8

View file

@ -31,6 +31,7 @@ using System.IO;
using System.Net; using System.Net;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Threading;
namespace WebsitePanel.EnterpriseServer namespace WebsitePanel.EnterpriseServer
{ {
@ -166,6 +167,7 @@ namespace WebsitePanel.EnterpriseServer
WebSiteResponse result = new WebSiteResponse(); WebSiteResponse result = new WebSiteResponse();
HttpWebResponse resp = null; HttpWebResponse resp = null;
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
Stream respStream = null;
try try
{ {
WebRequest req = WebRequest.Create(url); WebRequest req = WebRequest.Create(url);
@ -177,7 +179,7 @@ namespace WebsitePanel.EnterpriseServer
} }
resp = (HttpWebResponse)req.GetResponse(); resp = (HttpWebResponse)req.GetResponse();
Stream respStream = resp.GetResponseStream(); respStream = resp.GetResponseStream();
string charSet = !String.IsNullOrEmpty(resp.CharacterSet) ? resp.CharacterSet : "utf-8"; string charSet = !String.IsNullOrEmpty(resp.CharacterSet) ? resp.CharacterSet : "utf-8";
Encoding encode = System.Text.Encoding.GetEncoding(charSet); Encoding encode = System.Text.Encoding.GetEncoding(charSet);
@ -196,6 +198,9 @@ namespace WebsitePanel.EnterpriseServer
result.Status = (int)resp.StatusCode; result.Status = (int)resp.StatusCode;
result.Text = sb.ToString(); result.Text = sb.ToString();
} }
catch (ThreadAbortException)
{
}
catch (WebException ex) catch (WebException ex)
{ {
result.Status = (int)((HttpWebResponse)ex.Response).StatusCode; result.Status = (int)((HttpWebResponse)ex.Response).StatusCode;
@ -210,10 +215,16 @@ namespace WebsitePanel.EnterpriseServer
} }
finally finally
{ {
if (respStream != null)
{
respStream.Close();
}
if (resp != null) if (resp != null)
{ {
resp.Close(); resp.Close();
} }
} }
return result; return result;