首页新闻招聘找找看知识库

C# 什么情况下使用WinService

0
悬赏园豆:20 [已解决问题] 解决于 2017-12-18 11:38

对于C#的win服务有些不理解。虽然网上很多帖子都说:安装部署win程序后,系统就会自动定时执行,一般用于周期性任务。但我对这个概念都不是很明白,主要问题有如下几点:

①Win服务部署后,其他应用程序需要添加对这个引用之类的吗,或者建立什么应用程序与Win服务的关联,或者说只要开启Win服务就不用管了,就当作这是一个独立的程序在运行。

②有人说Win Service常用于周期性执行任务,意思也就是说Win服务启动后,会自动固定时间执行写好的代码?

③请问有什么例子之类的好好地演示一下Win服务在一些平时开发中的应用吗?

天堂画家的主页 天堂画家 | 初学一级 | 园豆:175
提问于:2017-12-18 11:06
< >
分享
最佳答案
0

你看下你自己的windows中的服务,大部分都是需要长期运行,比如windows timer(校准时间)。这个不一定是周期运行的,如果是很简单的周期运行直接在计划任务中建个计划指向你的可执行程序就完了。

这种服务程序启动后和普通程序除了没有界面外没太大区别,是否使用是看你的场景,的确你可以用这种服务中写个timer,搞个cron甚至搞个经常sleep的线程做定时执行,但更多的时候是希望程序不要像有界面的程序那样随便关闭或者随用户注销而退出。

比如webservice或者wcf等这种你既可以挂在iis下也可以做成windows服务,但是在某些场景下,比如希望程序长期驻留(iis会定时回收)时就可以上windows服务了。

你可以找下以前好多文章介绍wcf的(很多就是以windows服务为宿主)

收获园豆:18
Daniel Cai | 大侠五级 |园豆:9819 | 2017-12-18 11:30

感觉这个回答很有意思,很容易看懂。就好像是这种情况:要在控制台程序里做一个timer运行东西,然而缺点就是有界面,而且程序关闭了就无效。因此就考虑做一个win服务,于是把相同代码照搬过去。但这次部署成win服务后,只要电脑开着就能自动运行。感觉好方便,这样理解下来就轻松了。谢谢大佬。

天堂画家 | 园豆:175 (初学一级) | 2017-12-18 11:37
其他回答(1)
0

就是一个程序,运行在后台.其他功能都要你自己写.

收获园豆:2
吴瑞祥 | 园豆:25162 (高人七级) | 2017-12-18 11:13

就是我个人理解能力有些差,可以针对以上三个问题做一下详细描述吗?谢谢

支持(0) 反对(0) 天堂画家 | 园豆:175 (初学一级) | 2017-12-18 11:16
   您需要登录以后才能回答,未注册用户请先注册