private void SaveThreadStop() { if (m_SaveThread != null) { m_SaveThread.Stop(); m_SaveThread = null; } }
protected override void OnStart(string[] args) { //if (!Debugger.IsAttached) // Debugger.Launch(); EventLog.WriteEntry("Start", EventLogEntryType.Information); DataAccess.ConnectionString = ConfigurationManager.AppSettings["DBConn"]; TimeSpan addtime; if (TimeSpan.TryParse(ConfigurationManager.AppSettings["AdditionalTime"], out addtime)) { base.RequestAdditionalTime(addtime.TotalMilliseconds.Get <int>()); } var lookupLocations = DataAccess.LoadLocationsFromLocations().ToList(); var voucherPartLocations = DataAccess.LoadLocationsFromVoucherPart().ToList(); var locations = DataAccess.JoinLocations(voucherPartLocations, lookupLocations).ToList(); m_Server.SetLocations(locations); m_Server.SetCountries(DataAccess.LoadCountries()); m_ServerHost = new ServiceHost(m_Server); m_ServerHost.Open(); SaveThreadStop(); m_SaveThread = new SaveThread(); m_SaveThread.SleepTime = TimeSpan.Parse(ConfigurationManager.AppSettings["SleepTime"]); m_SaveThread.Start(ThreadPriority.BelowNormal, "SaveThread"); SaveThread.Save += new EventHandler(Server_SaveCommand); m_Server.Save += new EventHandler(Server_SaveCommand); Trace.WriteLine("It's loaded successfully", Strings.SRVNAME); EventLog.WriteEntry("It's loaded successfully", EventLogEntryType.Information); }