一、课程介绍

大家都知道如果想要程序一直运行在windows服务器上,最好是把程序写成windows服务程序;这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需要用户直接登录,直接开机就可以启动。 今天将给大家带来实际项目中经常运用的技术—C# 如何使用创建Windows服务进行应用程序开发。

本课程适合人群如下:

1、有一定的NET开发基础并对Windows服务编程技术有一定了解和认识。

2、进一步加深提高和扩展对Windows服务编程技术的认识视野。

3、喜欢阿笨的干货分享课程的童鞋们。

如果你觉得阿笨的《C# Windows服务开发从入门到精通》分享课程只是仅仅带领大家学习"C#如何一步一步的创建Windows服务应用程序的话,那么你就大错特错了。

阿笨:你说好的给大家带来的干货呢?

如果您同样对本次分享课程感兴趣的话,那么请跟着阿笨一起学习,看看阿笨在实际项目中是如何玩转Windows服务编程技术的吧!

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、涉及覆盖的知识点

2.1、 C# Windows服务应用程序开发零基础上手入门实战演练。

2.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。

2.3、分享C# Windows服务编程在实际项目中的一些小技巧和小技能。

1)、掌握常用 Windows服务操作bat命令。

2)、System.Threading.Timer定时器的妙用 。

3)、如何优雅的调试Windows服务应用程序。

4)、如何为应用程序添加管理员权限。

5)、如何通过bat文件制作 Windows服务安装和卸载一键安装包。

6)、系统项目中有很多后台定时任务,我们该怎么办?阿笨推荐采用"按功能模块划分+ 服务自治的原则",进行管理。

本次分享课程最终目的:

熟练地掌握在实际项目开发中遇到此类需求开发场景能够灵活并高效的以优雅方式创建Windows服务应用程序!

三、概念名称含义解释

3.1、什么是计算机服务?

3.2、什么是Windows服务?

3.3、 什么是 Topshelf ?

四、源码在线解读和演示

4.1、 C# Windows服务应用程序开发零基础上手入门实战演练。

4.1.1、C#编写的Windows服务基本应用流程如下:

1)、如何编写windows服务程序。

2)、如何卸载windows服务程序。

3)、如何调试windows服务程序。

4)、如何安装windows服务程序。

4.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。

Install-Package Topshelf   Install-Package Topshelf.Log4Net

github官网地址:https://github.com/Topshelf/Topshelf

4.3、分享C# Windows服务编程在实际项目中的一些小技巧和小技能。

1)、掌握常用 Windows服务操作bat命令。

2)、System.Threading.Timer定时器的妙用 。

如何灵活的解决我们实际项目中经常遇到的定时器执行时间和间隔时间出现的并发问题。

3)、如何优雅的调试Windows服务应用程序

4)、  如何为应用程序添加管理员权限。

5)、  如何通过bat文件制作 Windows服务安装和卸载一键安装包

6)、系统项目中有很多后台定时任务,我们该怎么办?阿笨推荐采用"按功能模块划分+ 服务自治的原则“,进行管理。

 
 

五、总结

如果您想更加全面的学习一下关于阿笨项目中使用Windows服务应用程序的实战技能,推荐大家可以学习一下阿笨早期之前分享的《.NET线程池技术项目实战演练》课程。俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!

C# Windows服务开发从入门到精通的更多相关文章

  1. [.NET开发] C#面向服务WebService从入门到精通

    C#面向服务WebService从入门到精通>包含以下两个部分: 一.<C#远程调用技术WebService修炼手册[基础篇]> 本次分享课您将学习到以下干货知识点: 1).WebS ...

  2. 《Java 开发从入门到精通》—— 2.3 使用IDE工具序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...

  3. Nginx开发从入门到精通 学习目录分享学习 (阿里著作)

    Nginx开发从入门到精通   缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...

  4. C#面向服务WebService从入门到精通

    <C#面向服务WebService从入门到精通>包含以下两个部分: 一.<C#远程调用技术WebService修炼手册[基础篇]>本次分享课您将学习到以下干货知识点:1).We ...

  5. 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换

    路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)   MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...

  6. ASP.NET Core Windows服务开发技术实战演练

    一.课程介绍 人生苦短,我用.NET Core!大家都知道如果想要程序一直运行在Windows服务器上,最好是把程序写成Windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需 ...

  7. Topshelf 一个简化Windows服务开发的宿主服务框架

    Topshelf是 基于.net框架开发的宿主服务框架.该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务.之所以这样原因非常简单:调试一个控 ...

  8. .NET Windows服务开发流程

    前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总结下, ...

  9. [书目20160624]Android应用开发从入门到精通

    卢海东 著 第1章 揭开神秘面纱——Android系统简介 1   1.1 认识Android系统 2   1.1.1 Android成长历程 2   1.1.2 发行版本 3   1.1.3 得到大 ...

随机推荐

  1. insert into与insert ignore以及replace into的区别

    insert ignore表示,如果表中已经存在相同的记录,则忽略当前新数据: INSERT INTO有无数据都插入,如果主键则不插入; REPLACE INTO 如果是主键插入则会替换以前的数据; ...

  2. 初步认识mitmproxy(一)

    在windows机器上,经常用的最多的是fiddler工具,很强大,图形化界面,使用方便.简单:在mac上,Charles 类似fiddler工具,同样是易于操作的图形化界面,同样都是通过代理的方式实 ...

  3. .net的锁

    一.lock .Monitor  处理并行任务的时候,效率最高的就是多线程.当不同线程需要访问同一资源时候,就需要同步了.就像生活中很多人要一起赶飞机大家都要访问飞机这个资源每个人是一条线程那么就有门 ...

  4. 使用crontab命令添加计划任务

    Ubuntu 16.04, 计划任务 就是 有(时间)计划地执行(做)任务,有计划 包括 定时执行(在哪些时间点执行任务).按照周期执行(每隔多少时间执行任务). 那么,什么是任务呢?就是 自己想要干 ...

  5. SNMP中MIB2所有主要节点

    系统组:system组包含以下对象集(.1.3.6.1.2.1.1): 对象名:sysDescr(1) OID:system.1 对象类型:DisplayString[255] 访问模式:只读 描述: ...

  6. darknet

    darknet第二作者:https://github.com//AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects yolov3实现 ...

  7. awk 调用 shell 命令,并传递参数

    from:awk 调用 shell 命令的两种方法:system 与 print shell 向awk传递命令,这样使用即可: awk -v  ...  但反过来呢?awk调用外部命令,同时也传参呢? ...

  8. PHP编辑器分享

    Sublime 1 .安装了追踪插件,ctrl+鼠标左键点击PHP函数跳到函数声明的位置. 2.已汉化 链接:http://pan.baidu.com/s/1hs5qonE 密码:b8fw 相关文章: ...

  9. 在谈PHP中的 抽象类(abstract class)和 接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  10. javascript编写带阴历的黄历

    最近在做一个黄历的快应用(quickapp),需要涉及到公历转阴历,效果如下: 快应用(https://www.quickapp.cn/): 快应用是基于手机硬件平台的新型应用形态:标准是由主流手机厂 ...