如何让windows服务和需要执行的业务分离

问题描述

如题,这样,我们就不用反复的编写服务。从而可以专注于业务,求思路!

解决方案

解决方案二:
难道就木有人么,顶起!
解决方案三:
专注业务.......你想干嘛?
解决方案四:
这个问题,问的好高大上啊就好像在问:如何可以不写代码,而只专注于业务答案就是你自己去专注业务,花钱请人帮你写代码每个服务想要完成的业务不同,当然会对应的编写许多特定的服务出来你想编写一个服务,能够完成任何功能?那你所谓专注于业务,又是要专注哪里呢
解决方案五:
1.除非是一直用于监听端口或其他硬件设备,而其他的只需要定时处理的,都可以利用计划任务来解决,这样就可以只编一个Console程序放到计划任务中去执行就可以了2.如果一定要服务,可以利用Interface+配置文件+反射去调用某个dll中的某个类去执行某件事情,这样只要是基于这个interface的类就可以随时配置到服务中作为service运行的一个对象去处理,而不需要为了某个功能而特定的编写一个服务。3.有些时候不一定非得用服务或计划任务来解决,像SQLServer的Job这一块其实也可以做很多的事情
解决方案六:
可以利用MEF思路试试在Start事件从容器中获取实现指定接口的实例,异步调用接口的方法(借助config增加一些必要的配置)应该可以
解决方案七:
MEF
解决方案八:
給你頂一個!
解决方案九:
服务ONSTART里读取配置文件启动业务,每个业务写成独立DLL。在配置写好配置文件。就可以服务和业务分开了。
解决方案十:
看看。反射相关的东西。

时间: 2024-10-24 18:25:11

如何让windows服务和需要执行的业务分离的相关文章

vista和win7在windows服务中交互桌面权限问题解决方法:穿透Session 0 隔离_C#教程

Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作.有时候可能需要服务与用户进行信息或界面交互操作,这种方式在XP 时代是没有问题的,但自从Vista 开始你会发现这种方式似乎已不起作用. Session 0 隔离实验 下面来做一个名叫AlertService 的服务,它的作用就是向用户发出一个提示对话框,我们看看这个服务在Windows 7 中会发生什么情况. using System.ServiceProcess; using System.Windows.Forms;

将Tunnelier注册成Windows服务

  最近硬盘坏道了,没有过保,HP可给换了块新的,重装了x64版的win7,下载Tunnelier的时候意外发现,官网上有Running Tunnelier as a Windows Service条目,之前一直以为只有MyEnTunnel可以注册成Windows服务,原来通过工具可以将任何程序注册成服务.文章中提到了三个工具: srvany(windows Resource Kits中的工具) FireDaemon 一个比srvany更易用的工具 Non-Sucking Service Man

Visual C#中调用Windows服务初探

visual|window Windows服务是独立于登录用户而工作的Windows应用程序,它通常在计算机启动时开始执行,且常常连续执行,直到计算机关闭为止.像Exchange Server,IIS和杀毒软件等都使用这种方式,这样就可以独立于某一用户而且可以在任何用户登录前来运行,同时也可以服务于所有的进程,从而以一种服务的形式存在. 正因为Windows服务有着这么多的特性,因此,当需要一些特殊功能的时候就可以考虑使用Windows服务来解决问题.比如下面我们要做的这个例子.对于我们这些程序

vb.net中windows服务的创建

window|创建   无论windows服务执行什么样的处理,创建与安装服务的步骤都十分相似.visual studio提供了windows services项目类型,利用它可以迅速创建windows服务,一下介绍简单的步骤: 1)新建项目,在new project对话框中,选择windows服务图标,在对话框name字段输入服务名称,确定.visual studio将显示服务的设计视图. 2)在服务属性里面进行设置:servicebase类的属性如下:               a.aut

用.NET创建Windows服务

window|创建 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类.  什么是Windows服务 Windows服务应用程序是一种需要长期运行的应用程序它对于服务器环境特别适合.它没有用户界面并且也不会产生任何可视输出.任何用户消息都会被写进Windows事件日志.计算机启动时服务会自动开始运行.它们不要用户一定登录才运行它们能在包括这个系统内的

无COM接口Windows服务启动失败的原因及解决方案

将VS创建的Windows服务项目编译生成的程序,通过命令行 "服务.exe -Service"注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服务无法启动,提示错误 由于程序代码是由VS的项目模板生成的,生成后直接编译为Debug版,然后通过命令行进行注册,期间并没有修改过任何代码. 难道是只有Release版本才能通过服务管理器启动吗.于是将Release版注册为服务,通过服务管理器启动,仍然会报同样的错误. 由于服务比较特殊,

借助C++进行Windows开发:Windows服务增强

目录 延迟自动启动服务 改进关机可预见性 失败操作和受控停止 减少权限 保护服务数据 用受限令牌保护其他项目 接收服务通知 后续内容 Windows服务开发的状态自从在 Windows NT 中出现服务以来一直没有较大的改变,但是 Windows Vista 和 Windows Server 2008 打破了这一僵局.这其中的许多功能主要是为了以更简捷的方式生成更安全的服务,但是在与安全性不相关的服务功能中,有些功能是为了提高 Windows 的整体响应能力和可靠性. 延迟自动启动服务 可通过

用托管C++编写Windows服务

多年以来,只要提到编写Windows服务,就会想到用Visual C++编写,同时,这也是其中一件C++程序员可以做,而VB程序员不可以做的事情.以前,我们只称其为"服务"或"NT服务",现在,它们被命名为"Windows服务",而且用VB.NET或C#也可以很容易地编写. 但是,如果你想用托管C++来编写呢?毕竟,大多数有经验的Visual C++程序员都会写过一两个服务,也会知道怎样完成一个类似的工程.假设你有一个必须要一直运行以提供服务的程

用ATL编写Windows服务

有时候,我们需要自己写的程序在没有用户登陆的情况下,只要Windows系统启动就运行,那我们可以把我们的程序写成一个Windows服务. 服务是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行. 下面,我将用一个简单的例子说明如何用ATL来编写Windows服务程序. 首先,我们新建一个Project.如图一所示,选择 "ATL COM AppWizard",工程名为:ServiceDemo