日期:2014-05-18  浏览次数:20527 次

大侠们,Windows服务的问题
现在有个需求,有个时间框,是选择时间的,然后在页面点击按钮 启动服务

实现的功能是在 选择的时间点 去启动这个 windows服务。这怎么弄???如何给windows服务传参数?

另外windows服务里有个 timer , 是不是必须要添加这个控件啊???

这个控件的作用是每隔多少时间去做某些事,我这个需求好像用不到。

------解决方案--------------------
你这额外需要有一个Windows Service来支撑,或者是任务计划的程序也行,但如果使用的是Windows Service,你还真需要有一个Timer,因为你需要定时去判断是不是要启动某个Service,比如说Timer每隔10分钟去查一次数据表,看看在这个时间段是不是得执行什么动作,如果没有Timer,你需要不停地用while循环+sleep去实现。

没明白你说的要给Windows Service传参数是啥意思
------解决方案--------------------
服务一般是一直启动的

你的启动按钮可以触发每个事件,数据库,文件。。。

服务定时去检测你触发的事件
------解决方案--------------------
当前时间 DateTime.Now
------解决方案--------------------
windows服务调试是很麻烦的,不能直接在 VS 里面调试的。如果说调试的话,其实应该是你的应用做成一个类库,然后你的windows服务去调用这个类库里的实现方法,这样当你需要调试的时候可以在一个窗体里模拟服务调用这个类库的实现方法调试。而且安装了服务之后,发现有BUG或者需求有变更的话,直接修改类库的实现,生成dll 后替换掉原来服务的 dll,这样也避免了不断重复卸载安装服务的麻烦!
------解决方案--------------------
c#开启windows服务
http://topic.csdn.net/u/20070321/13/e2d9e389-86c8-4d1f-8ec4-2f4d9aa39c8c.html

定时的windows服务
http://yaojaylone.iteye.com/blog/1075853

还有就是像你刚才说的一样拖拉一个timer控件。