Service1

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;

namespace ePOUrgeMail_Service
{
 public class Service1 : System.ServiceProcess.ServiceBase
 {
  /// <summary>
  /// Required designer variable.
  /// </summary>
  private System.ComponentModel.Container components = null;
  private System.Timers.Timer mTimer = new System.Timers.Timer();

  SendUrgeMail clsSendUrgeMail = new SendUrgeMail();

  public Service1()
  {
   // This call is required by the Windows.Forms Component Designer.
   InitializeComponent();

   // TODO: Add any initialization after the InitComponent call
  }

  // The main entry point for the process
  static void Main()
  {
   System.ServiceProcess.ServiceBase[] ServicesToRun;
 
   // More than one user Service may run within the same process. To add
   // another service to this process, change the following line to
   // create a second service object. For example,
   //
   //   ServicesToRun = new System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
   //
   ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };

   System.ServiceProcess.ServiceBase.Run(ServicesToRun);
  }

  #region Component Designer generated code
  /// <summary>
  /// Required method for Designer support - do not modify
  /// the contents of this method with the code editor.
  /// </summary>
  private void InitializeComponent()
  {
   components = new System.ComponentModel.Container();
   this.ServiceName = "Service1";
  }
  #endregion

  /// <summary>
  /// Clean up any resources being used.
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if (components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }

  /// <summary>
  /// Set things in motion so your service can do its work.
  /// </summary>
  protected override void OnStart(string[] args)
  {
   try
   {    
    this.mTimer.Enabled = true;
    this.mTimer.Interval = PublicModule.Timer_Interval;
    this.mTimer.Elapsed += new System.Timers.ElapsedEventHandler(mTimer_Elapsed);
   }
   catch(System.Exception r)
   {
    PublicModule.SaveLog( "OnStart:" + r.Message.ToString() );
   }
  }
 
  /// <summary>
  /// Stop this service.
  /// </summary>
  protected override void OnStop()
  {
   this.mTimer.Enabled = false;
  }

  /// <summary>
  /// 服務觸發事件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void mTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
  {
   try
   {
    if( PublicModule.bFinished_UrgeMail )
    {
     clsSendUrgeMail.StartSendUrgeMail();
    }
   }
   catch(System.Exception r)
   {
    PublicModule.SaveLog( "mTimer_Elapsed:" + r.Message.ToString() );
   }
  }
 }
}

posted on 2009-01-05 15:06  ChinaLeo  阅读(131)  评论(0)    收藏  举报

导航