Utiliser C# pour réaliser le partage de code d'applet de synchronisation

高洛峰
Libérer: 2017-03-14 16:25:02
original
2285 Les gens l'ont consulté

Cet article utilise C# pour partager le code d'un petit programme de minuterie

J'ai toujours pensé que le programme de minuterie était si mystérieux Plus tard, quand j'ai moi-même écrit un petit programme de minuterie. , j'ai trouvé que ce n'était pas aussi difficile que vous le pensez. Ci-dessous, je partagerai mon propre processus opérationnel, en espérant qu'il sera utile à tout le monde.

1) Ajouter une référence au fichier dans notre projet : TaskSchedulerEngine.dll (dll définit une ITask interface , qui définit deux méthodes Initialize et HandleConditionsMetEvent) ;

2) Créez une classe régulièrement déclenchée : SyncTask.cs (définissez le nom de la classe comme vous le souhaitez), qui doit implémenter l'interface ITask. Le code spécifique est le suivant :

public class SyncTask : ITask
{
  //接受传递过来的参数的变量
  private string configName;
  
 /// <summary>
  /// 具体操作的代码
  /// </summary>
  public void HandleConditionsMetEvent(object sender, ConditionsMetEventArgs e)
  {
    try
    {
      // 此处为具体的操作
    }
    catch (Exception ex)
    {
      //抛出异常,记录错误日志
    }
  }
 
  /// <summary>
  /// 初始化
  /// </summary>
  /// <param name="schedule"></param>
  /// <param name="parameters">参数(该参数在定时触发设置时传递)</param>
  public void Initialize(ScheduleDefinition schedule, object parameters)
  {
   //通过传递过来的参数来初始化变量
    configFileName = parameters.ToString();
    try
    {
      //初始化的具体代码
    }
    catch (Exception e)
    {
   //抛出异常,记录错误日志 
    }
  }
}
Copier après la connexion

3) Configurez le fichier app.config, Fichier de configuration instructions de paramétrage :

a. ;/at> ; est une tâche. Si différents programmes sont déclenchés à des moments différents, vous devez définir plusieurs noms  : est le nom de chaque , vous pouvez le nommer en fonction de vos propres besoins ; : où se trouve la tâche ? Déclencheur en mois, * signifie déclencher chaque mois ; dayofMonth : déclencher le jour de chaque mois, * signifie déclencher chaque jour de la semaine, * signifie déclencher chaque jour, heure : déclencher à quelle heure ; heure tous les jours, * signifie toutes les heures Déclencher une fois ; minute : déclencher à quelques minutes par heure, 58 signifie déclencher à 58 minutes par heure seconde : déclencher à quelques secondes par minute ;

b. est la classe qui doit être déclenchée, tapez : "L'adresse détaillée de la classe qui doit être déclenchée (nom du projet. nom du dossier. nom de la classe), nom du projet, version. , Culture, PublicKeyToKen", paramètres : paramètres à transmettre, si aucun paramètre n'est transmis, ils peuvent être définis sur "" ;

<taskSchedulerEngine>
 <schedule>
  <at name="TaskName" month="*" dayOfMonth="*" dayOfWeek="*" hour="*" minute="58" second="0" kind="Local">
  <execute>
   <task type="Test.Task.SyncTask, Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" parameters="FtpConfig.xml" />
  </execute>
  </at>
 </schedule>
</taskSchedulerEngine>
Copier après la connexion

4) Programme principal pour démarrer le programme de chronométrage :

SchedulerRuntime.StartWithConfig();
Copier après la connexion

OK, maintenant, un programme de chronométrage complet a été écrit. Amis, vous êtes invités à donner vos précieux avis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal