Windows服务简单实例

1.定时器使用

    partial class TimerService : ServiceBase
    {
        public TimerService()
        {
            InitializeComponent();
        }

        Timer timer = new Timer();
        protected override void OnStart(string[] args)
        {
            // TODO: 在此处添加代码以启动服务。
            AddLog("****服务启动");

            timer.Elapsed += timer_Elapsed;
            timer.Interval = 1000;
            timer.Start();
        }

        int number = 0;
        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                number++;
                AddLog("第" + number + "次执行方法");
                AddLog("当前时间:" + DateTime.Now.ToLongTimeString());
            }
            catch (Exception)
            {

            }
        }

        protected override void OnStop()
        {
            // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
            AddLog("****服务终止");
            timer.Stop();
        }

        public void AddLog(string str)
        {
            using (StreamWriter sw = new StreamWriter(@"G:\log.data", true))
            {
                sw.WriteLine("****************************************");
                sw.WriteLine(str);
            }
        }
    }

2.记录日志和数据库访问

    partial class MessageBoxSer : ServiceBase
    {
        Thread mainThread;
        public MessageBoxSer()
        {
            InitializeComponent();

            mainThread = new Thread(new ThreadStart(ThreadFunc));
            mainThread.Priority = ThreadPriority.Normal;
        }

        public static void ThreadFunc()
        {
            //while (true)
            //{
            //    Thread.Sleep(1000);
            //    MessageBox.Show("asdfasdf");
            //}

            while (true)
            {

                // MessageBox.Show("asdfasdf");
                Thread.Sleep(3000);

                //修改数据库
                SerTableDA.AddData();

                //记录日志
                //try
                //{
                //    using (StreamWriter sw = new StreamWriter(@"G:\log.data", true))
                //    {
                //        sw.WriteLine(DateTime.Now.ToLongTimeString() + "执行循环代码");
                //    }
                //}
                //catch (Exception ex)
                //{

                //}
            }
        }

        protected override void OnStart(string[] args)
        {
            // TODO: 在此处添加代码以启动服务。
            mainThread.Start();
        }

        protected override void OnStop()
        {
            // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
            mainThread.Abort();
        }
    }

Windows服务简单实例

时间: 2024-11-09 03:59:07

Windows服务简单实例的相关文章

C# windows 服务 操作实例

先说明一下windows服务开发前要明白的东西,DOS 程序所在物理路径D:\workObject\xx.exe 输入CMDcd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 安装服务installUtil D:\workObject\xx.exe 卸载服务installUtil /u D:\workObject\xx.exe 查看Window服务serv

创建Windows服务简单流程

1.首先打开VS2010(或者其他版本),创建Windows服务项目 2.创建完成后切换到代码视图,代码中默认有OnStart和OnStop方法执行服务开启和服务停止执行的操作,下面代码是详细解释: 注意选择的是系统时间,不是winform中的时间. using System; using System.IO; usingSystem.ServiceProcess; using System.Text; usingSystem.Timers; namespaceTestService { pub

JAVA项目中公布WebService服务——简单实例

1.在Java项目中公布一个WebService服务: 怎样公布? --JDK1.6中JAX-WS规范定义了怎样公布一个WebService服务. (1)用jdk1.6.0_21以后的版本号公布. (2)与Web服务相关的类,都位于Javax.jws.*包中 @WebService--此注解用在类上指定将此类公布成一个WebService: EndPoint--此类为端点服务类,当中publish()方法用于将一个已经加入了@WebService注解对象绑定到一个地址的port上,用于公布. 2

JAVA项目中发布WebService服务——简单实例

1,在Java项目中发布一个WebService服务: 如何发布? --JDK1.6中JAX-WS规范定义了如何发布一个WebService服务: (1)用jdk1.6.0_21以后的版本发布: (2)与Web服务相关的类,都位于Javax.jws.*包中 @WebService--此注解用在类上指定将此类发布成一个WebService: EndPoint--此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布. 2,例子

(25)c# windows服务

转自 http://www.cnblogs.com/knowledgesea/p/3616127.html Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用.还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文

Windows服务二:测试新建的服务、调试Windows服务

一.测试Windows服务 为了使Windows服务程序能够正常运行,我们需要像创建一般应用程序那样为它创建一个程序的入口点.像其他应用程序一样,Windows服务也是在Program.cs的Main()函数中完成这个操作.首先我们在Main()函数中创建一个Windows服务的实例,该实例应该是ServiceBase类的某个子类的对象,然后我们调用由基类ServiceBase类定义的一个Run()方法.然而调用Run()方法并不意味着就开始了Windows服务程序,必须要等到该对象的OnSta

c#写windows服务

c#写windows服务 序言 前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总结下,windows服务的编写,调试,安装卸载. Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务

使用Topshelf组件构建简单的Windows服务

很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解对应的原理和源码(这里就不要急着吐槽,容我说完).对底层的了解不是为了让你写出类似的东西,让你写也不可能写的出来,重写一个就需要以此修改整个底层结构,了解底层知识只是为了让你可以在写业务代码时,选择合适的方式,以此使底层与业务层配合达到效率最佳.任何一种方式有坏有好,需要合适的选择. 如果觉得楼主以

使用C#创建及调用WCF完整实例 (Windows服务宿主)

关于WCF的概念.原理.优缺点等,在这里就不多说了,网上很多,可以自行搜索,比我解释的要专业的多. 这里直接说使用Windows 服务(Windows Service)作为宿主如何实现,其它方式不在此次教程之内 文章最后有本例的下载连接,包含源代码.说明教程.编译后文件 实例环境:Windows Server 2008 R2 + VS 2010(C#) 打开 VS 2010,选择 新建项目,选择 ”WCF”|”WCF 服务库 ”,注意这里是”WCF 服务库 ”,不是"WCF 服务应用程序&quo