ComplianceServer/oldcode/CRMServices/CRMWinServices.cs

71 lines
2.3 KiB
C#

using Quartz;
using Quartz.Xml;
using System;
using System.Collections;
using System.IO;
using System.ServiceProcess;
using System.Threading;
using WX.CRM.Common;
namespace WX.CRM.CRMServices
{
partial class CRMWinServices : ServiceBase
{
Thread _sms_send;
public CRMWinServices()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
_sms_send = new Thread(new ThreadStart(GetScheduleJob));
_sms_send.Start();
WX.CRM.Common.LogHelper.Info("服务已启动!");
}
catch (Exception e)
{
WX.CRM.Common.LogHelper.Error(string.Concat("CRMWinServices.OnStart:", e.ToString()));
}
}
protected override void OnStop()
{
try
{
if (_sms_send.ThreadState == System.Threading.ThreadState.Running)
_sms_send.Abort();
WX.CRM.Common.LogHelper.Info("服务停止!");
}
catch (Exception ex)
{
WX.CRM.Common.LogHelper.Error("服务停止异常" + ex.Message + ex.StackTrace);
}
}
public void GetScheduleJob()
{
try
{
JobSchedulingDataProcessor processor;
processor = new JobSchedulingDataProcessor(true, true);
ISchedulerFactory sf = new Quartz.Impl.StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();
LogHelper.Error("------GetScheduleJob开始执行---1--");
Stream s = new StreamReader(string.Concat(AppDomain.CurrentDomain.BaseDirectory, "XML/JobConfig.xml"), System.Text.Encoding.GetEncoding("UTF-8")).BaseStream;
LogHelper.Error("------GetScheduleJob开始执行---2--");
processor.ProcessStream(s, null);
LogHelper.Error("------GetScheduleJob开始执行---3--s==" + s);
processor.ScheduleJobs(new Hashtable(), sched, false);
sched.Start();
}
catch (Exception ex)
{
WX.CRM.Common.LogHelper.Error(string.Concat("CRMWinServices.GetScheduleJob:", ex.Message, ex.StackTrace));
}
}
}
}