C# Windows服务开发从入门到精通
一、课程介绍
大家都知道如果想要程序一直运行在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服务开发从入门到精通的更多相关文章
- [.NET开发] C#面向服务WebService从入门到精通
C#面向服务WebService从入门到精通>包含以下两个部分: 一.<C#远程调用技术WebService修炼手册[基础篇]> 本次分享课您将学习到以下干货知识点: 1).WebS ...
- 《Java 开发从入门到精通》—— 2.3 使用IDE工具序
本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...
- Nginx开发从入门到精通 学习目录分享学习 (阿里著作)
Nginx开发从入门到精通 缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...
- C#面向服务WebService从入门到精通
<C#面向服务WebService从入门到精通>包含以下两个部分: 一.<C#远程调用技术WebService修炼手册[基础篇]>本次分享课您将学习到以下干货知识点:1).We ...
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换
路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...
- ASP.NET Core Windows服务开发技术实战演练
一.课程介绍 人生苦短,我用.NET Core!大家都知道如果想要程序一直运行在Windows服务器上,最好是把程序写成Windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需 ...
- Topshelf 一个简化Windows服务开发的宿主服务框架
Topshelf是 基于.net框架开发的宿主服务框架.该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务.之所以这样原因非常简单:调试一个控 ...
- .NET Windows服务开发流程
前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总结下, ...
- [书目20160624]Android应用开发从入门到精通
卢海东 著 第1章 揭开神秘面纱——Android系统简介 1 1.1 认识Android系统 2 1.1.1 Android成长历程 2 1.1.2 发行版本 3 1.1.3 得到大 ...
随机推荐
- py-faster-rcnn代码阅读1-train_net.py & train.py
# train_net.py#!/usr/bin/env python # -------------------------------------------------------- # Fas ...
- CSS marging相关
一.margin可以为负值 在盒模型中,内容区的width/height.padding.border都不能为负值,但是margin例外,它可以为负值. margin负值的本质,在于它改变了元素在普通 ...
- 001_shell经典案例
一. 二. -n, --numeric-sort compare according to string numerical value -k, --key=KEYDEF sort via a key ...
- Linux 黑白界面显示
2014年1月14日 15:47:47 不知道别人怎么看,反正我觉得黑白配显示很方便阅读 命令: ls 脚本: ~/.bashrc 指令: alias ls='ls --color=never' 命令 ...
- maven:多个镜像配置
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>nexus-aliyun</mi ...
- jenkins免密添加SSH Servers
在配置ssh server时可以使用用户名秘密的方式登录,但有点不安全,只要有权限配置jenkins服务器的人就可以看到密码.所以可以利用ssh免密登录的方式链接ssh server. 1.在jenk ...
- 全键盘操作Windows
计算机机用户在使用计算机的时候,是用键盘多一点?还是用鼠标多一点?如果是专业打字员,应该会说他使用键盘多一点,除此之外,多数人都会告诉你,他已经离不开鼠标了,没有鼠标,就不会操作电脑. 如果某一天 ...
- Build OpenJDK9 on macOS Sierra
1. Get the source code: hg clone http://hg.openjdk.java.net/jdk9/jdk9 jdk9 cd jdk9 sh get_source.sh ...
- django中注册功能signup的测试例
这个是套路, 有了这些测试用例, 开发就会更有保障, 且每次重写,都好麻烦, 不好cp来得快~~:) from django.test import TestCase from django.urls ...
- 如何写django中form的测试用例
可简可繁, 可插库,可字符, 要测试valid,也要测试invalid, 可用csrf,也可用context. 放一个全面的, 实践中,找一个最优的组合就好. class NewTopicTests( ...