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

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

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


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

 

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

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


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으로 문의하세요.
如何解决Windows中的“服务没有响应”错误。如何解决Windows中的“服务没有响应”错误。Apr 27, 2023 am 08:16 AM

NETSTART命令是Windows中的内置命令,可用于启动和停止服务和其他程序。有时,在运行此命令时,您可能会遇到NetHelpmsg2186错误。遇到此错误的大多数用户都试图通过运行NETSTARTWUAUSERV命令来重新启动Windows更新服务。如果Windows更新服务已禁用或未运行,则您的系统可能会面临风险,因为您无法获取最新更新。让我们详细探讨为什么会发生此错误以及如何绕过它。好吗?什么是错误2186?Windows更新服务通过安装最新的关键更新和安全功

win10安全中心服务被禁用解决方案win10安全中心服务被禁用解决方案Jul 16, 2023 pm 01:17 PM

安全中心服务是win10系统内置的电脑防护作用,能够实时保护电脑安全,可是有些客户在开机的时候碰见了安全中心服务被禁用的状况,怎么办呢?很简单,你可以打开服务面板,找到SecurityCenter项,以后右键打开它的属性窗口,将启动种类设定为自动,以后再点击一下启动就能够再次开启这个服务了。win10安全中心服务被禁用怎么办:1、按“Win+R”开启“运作”窗口。2、随后输入“services.msc”指令后按回车3、随后在右边窗口中找到“SecurityCenter”一项,双击此项开启其属性窗

远程桌面连接服务用命令打开方法远程桌面连接服务用命令打开方法Dec 31, 2023 am 10:38 AM

远程桌面连接给很多用户的日常生活带来了方便,也有部分想使用命令来进行远程连接,操作起来更方便,那么该怎么连接呢?远程桌面连接服务用命令打开方法可以帮你解决。远程桌面连接命令怎么设置:方法一、通过运行命令远程连接1、按下“Win+R”打开“运行”输入mstsc2、然后点击“显示选项”3、输入ip地址点击“连接”。4、显示正在连接即可。方法二、通过命令提示符远程连接1、按下“Win+R”打开“运行”输入cmd2、在“命令提示符”输入mstsc/v:192.168.1.250/console

Linux 重启服务的正确方式是什么?Linux 重启服务的正确方式是什么?Mar 15, 2024 am 09:09 AM

Linux重启服务的正确方式是什么?在使用Linux系统时,经常会遇到需要重启某个服务的情况,但是有时候我们可能会在重启服务时遇到一些问题,比如服务没有真正停止或启动等情况。因此,掌握正确的重启服务的方式是非常重要的。在Linux中,通常可以使用systemctl命令来管理系统服务。systemctl命令是systemd系统管理器的一部分

启用win7音频服务的方法启用win7音频服务的方法Jul 10, 2023 pm 05:13 PM

计算机有许多系统服务来支持各种程序的应用。如果电脑没有声音,在排除硬件问题的情况下,大部分音频服务都没有打开,那么win7如何启用音频服务呢?许多朋友比较模糊,所以针对如何启用win7音频服务的问题,下面小编介绍win7音频服务的启用方法。启用win7音频服务的方法。1.在Windows7系统下的计算机桌面上找到计算机,右键选择管理选项。2.在打开的计算机管理界面中找到并打开服务和应用下的服务项目。在右边的服务界面上找到WindowsAudio双击打开修改。4.切换到常规项目,点击启动开启功能。

验证码拦不住机器人了!谷歌AI已能精准识别模糊文字,GPT-4则装瞎求人帮忙验证码拦不住机器人了!谷歌AI已能精准识别模糊文字,GPT-4则装瞎求人帮忙Apr 12, 2023 am 09:46 AM

“最烦登网站时各种奇奇怪怪(甚至变态)的验证码了。”现在,有一个好消息和一个坏消息。好消息就是:AI可以帮你代劳这件事了。不信你瞧,以下是三张识别难度依次递增的真实案例:而这些是一个名为“Pix2Struct”的模型给出的答案:全部准确无误、一字不差有没有?有网友感叹:确定,准确性比我强。所以可不可以做成浏览器插件??不错,有人表示:别看这几个案例相比还算简单,但凡微调一下,我都不敢想象其效果有多厉害了。所以,坏消息就是——验证码马上就要拦不住机器人了!(危险危险危险……)如何做到?Pix2St

分享几个.NET开源的AI和LLM相关项目框架分享几个.NET开源的AI和LLM相关项目框架May 06, 2024 pm 04:43 PM

当今人工智能(AI)技术的发展如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。今天大姚给大家分享4个.NET开源的AI模型LLM相关的项目框架,希望能为大家提供一些参考。https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一种开源的软件开发工具包(SDK),旨在将大型语言模型(LLM)如OpenAI、Azure

C#的就业前景如何C#的就业前景如何Oct 19, 2023 am 11:02 AM

无论您是初学者还是有经验的专业人士,掌握C#将为您的职业发展铺平道路。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는