>백엔드 개발 >C#.Net 튜토리얼 >.NET 백그라운드 타이밍 서비스 프레임워크에 대한 간략한 소개

.NET 백그라운드 타이밍 서비스 프레임워크에 대한 간략한 소개

黄舟
黄舟원래의
2017-07-27 16:17:363391검색

 특정 경험이 있는 개발자는 백그라운드 서비스에 노출되어 있는 한 서비스 생성, 스케줄링 로직 처리, 비즈니스 로직 작성 및 기타 링크와 분리될 수 없습니다. 새로운 백그라운드 서비스 프로젝트를 생성할 때 이전 코드를 복사하고 일부 스레드 및 기타 메서드를 작성하여 이를 완료한 다음 서비스 설치를 처리하는 경우가 많습니다. 대부분의 시간은 이러한 반복적인 작업에 낭비됩니다.
여기서 제공하는 것은 간단한 백그라운드 서비스 처리 프레임워크입니다(지정된 간격으로 실행, 매일 지정된 시간에 하루에 한 번 실행, 지정된 시간에 한 번 실행, 시작 및 끝 지정). 매일 지정된 실행 간격에 따라), 새로운 예약된 서비스 작업을 개발할 때 추상 클래스 메서드를 구현하고, 작업 구성을 추가하고, 설치 스크립트를 실행하기만 하면 서비스 개발이 완료됩니다.

프레임 코드 경로: 프레임워크 코드


프레임워크는 작업의 실행 논리를 제어하기 위한 실행 유형 구성을 지원합니다.
지정된 간격으로 실행
하루에 한 번 지정된 시간에 실행
지정된 시간에 한 번 실행
지정 매일 시작 시간과 끝 시간을 지정하고, 지정된 간격으로 실행

 

  다음은 저장 프로시저를 정기적으로 실행하는 작업입니다.

 기본 클래스 상속 및 비즈니스 로직 코드 작성


using DataAccessHelper.SQLHelper;using Services.Common;using System;namespace Services.Tasks
{    public class CallProcTask : ServiceBase
    {        protected override void Exec()
        {            try
            {                if (_isStart)
                {                    if (!string.IsNullOrWhiteSpace(Config.Param))
                    {
                        LogFactory.GetLogger().Info(string.Format("开始执行存储过程 {0}", Config.Param));
                        SQLHelperFactory.Instance.ExecuteNonQuery(Config.Param, null);
                        LogFactory.GetLogger().Info(string.Format("执行存储过程 {0} 完成", Config.Param));
                    }
                }
            }            catch (Exception ex)
            {
                LogFactory.GetLogger().Error(string.Format("执行存储过程 {0} 异常:{1}", Config.Param, ex));
            }
        }
    }
}

 서비스 이름 구성

 

 각 실행 간격을 60초로 구성


 [
  { //循环执行任务 每次执行间隔60秒
    "ServiceName": "CallProcTask-proc_test任务",//服务名称 非空
    "Assembly": "Services.exe",//程序集 非空
    "Methods": "Services.Tasks.CallProcTask",//执行类名  对应业务的类名 非空
    "S_Interval": 60,//间隔时间 单位秒
    "ExecType": 0,//执行类型 ( 0:按指定间隔时间执行 1:每天指定时间执行 每天一次 2:指定时间执行一次 3.每天指定开始和结束时间并且按照指定间隔时间执行) 可空默认0
    "Param": "proc_test"//自定义参数 在本案例中为SQL参数 可空  }
]

 작성 완료 후 컴파일 그리고 다음을 실행하세요. 설치하세요. bat 서비스 관리자에서 해당 서비스를 확인하세요.

프레임 코드 경로: 프레임워크 코드

위 내용은 .NET 백그라운드 타이밍 서비스 프레임워크에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.