那下面就来说说如何制作一个服务来 实现开机自动启动,每隔一段时间向student表中插入数据。

步骤:  1)   新建项目 ---> Windows 服务

2) 拖放Times控件

工具箱中 拖放一个 Time控件 (是System.Times 空间下的(要自己添加到工具箱中的,默认没有),不是System.Form.Windows.Time下的。这而不能引用错了,否则会服务不能正确运行.具体为什么,有待研究)

 3) 右击空白处,点击安装程序

紧接着会出现

,然后设置它的 Account 值为 LocalSystem

将 serviceInstaller1 的statrtype=Automatic (开机自动启动)

4) 双击Times控件,开始写服务要执行的代码 (向student表中隔一秒插入一条数据)

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

        {
            try
            {
                //数据库操作
                string ConString = "server=127.0.0.1;database=student;server=127.0.0.1;database=MySqlData;Integrated Security=SSPI";
 
                SqlConnection ConStudent = new SqlConnection(ConString);
 
                SqlCommand Cmd = new SqlCommand("insert into student (nameid) values ('3')", ConStudent);
 
                ConStudent.Open();
                Cmd.ExecuteNonQuery();
                ConStudent.Close();
            }
            catch (Exception ee)
            {
 
 
            }
        }
#region  服务启动后要执行的数据库操作

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

然后 debug 或者 Release都行。

5)  通过 Windows 文件夹下 Microsoft.net下的framework  文件夹中的 installutil.exe来向系统注册服务。

最简单方法:将installutil.exe拷贝到刚才debug或者Release文件夹下,直接将刚才的程序拖放上来就可以注册了。

(注:1.通过dos下注册的,有可能会提示文件找不到,那就把intallutil.exe拷贝到相应文件夹内即可

2.dos下注册为  intallunit.exe   目标文件的完整路径

3.服务不能单独编译,但是可以通过 VS 的附加进程编译来调试!

总结: 调试的时候发现2个问题

    1.installutil.exe无法注册服务,提示找不到文件.

       解决方案:  installutil.exe  拷贝到 目标 exe文件夹中

    2. 服务启动了,但是没有 执行相应的操作。

      解决方案:   Times 控件换为 System.Times下的。  (需要另外添加)

                      默认的是 Windows.form.Times 控件

C# Asp.net 制作一个windows服务的更多相关文章

  1. 为MongoDB创建一个Windows服务

    一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件 ...

  2. C#创建、安装一个Windows服务

    关于WIndows服务的介绍,之前写过一篇: http://blog.csdn.net/yysyangyangyangshan/article/details/7295739.可能这里对如何写一个服务 ...

  3. tomcat创建一个windows服务

    具体步骤如下: 1.把JDK解压到C:\Program Files\Java下,Tomcat解压到D:\tomcat下 2.配置环境变量 JAVA_HOME:C:\Program Files\Java ...

  4. 如何在linux下制作一个windows的可启动u盘?

    如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...

  5. 写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我

    写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我 1.HttpUtil工具类,用于模拟用户登录以及爬取网页: using System; using ...

  6. 创建第一个windows服务

    windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志. 计算机启动时,服务会自动开 ...

  7. 制作一个windows垃圾清理小程序

    制作一个windows垃圾清理小程序: 把下列代码保存为.bat文件(如垃圾清理.bat) 双击它就能很快地清理垃圾文件,大约一分钟不到. 就是下面的文字(这行不用复制)=============== ...

  8. [翻译] 使用 .NET Core 3.0 创建一个 Windows 服务

    原文: .NET Core Workers as Windows Services 在 .NET Core 3.0 中,我们引入了一种名为 Worker Service 的新型应用程序模板.此模板旨在 ...

  9. 写一个Windows服务

    做了两个和Windows服务有关的项目了,最开始的时候没做过,不懂,现在明白了许多.需要注意的是,如果不想登录什么的,最后在添加安装程序的那里选择那个字长的右键属性,把启动方式改为local syst ...

随机推荐

  1. HTML5背景音乐的暂停与播放

    HTML代码:     <audio id="myaudio" loop="loop" preload="auto" autoplay ...

  2. [svc]免费证书认证

    1.申请免费域名(12个月) freenom.com 2.申请免费证书(3个月) git clone https://github.com/letsencrypt/letsencrypt cd let ...

  3. 【Android】4.3 屏幕布局和旋转

    分类:C#.Android.VS2015:创建日期:2016-02-06 为了控制屏幕的放置方向(纵向.横向),可以在Resource下同时定义两种不同的布局文件夹:layout和layout-lan ...

  4. android Handlerr.removeCallbacksAndMessages(null)的妙用

    今天在阅读代码发现了android  Handlerr.removeCallbacksAndMessages(null)代码 在ondestory()调用,之前没用过,那想弄懂咋办,查api: pub ...

  5. 【Util】之——cookie

    拿走即用 使用前引入文件:http://files.cnblogs.com/ccto/util-cookie.js 使用方法: //设置cookie CookieUtil.set("name ...

  6. 处理oracle 报ORA-12505 信息:listener does not currently know of SID given in connect descriptor...

    oracle 的 sql developer连接不上问题: sql developer连接本机的服务器时,有时候能连接,有时候连接不上,什么原因造成的呢? ①检查oracle服务器和监听器是否已经启动 ...

  7. 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的小结

    我们都知道,android为了操作数据库,一般是继承SQLiteOpenHelper类,并实现他的三个函数. 如下所示: package jz.his.db; import android.conte ...

  8. c++之五谷杂粮4---explicit

    4.1在要求隐式转换的程序上下文中,我们可以通过将构造函数声明为explicit加以阻止. 关键字explicit只对一个实参的构造函数有效.需要多个实参的构造函数不能用于执行隐式转换,所以无需将这些 ...

  9. HDOJ 1814 Peaceful Commission

    经典2sat裸题,dfs的2sat能够方便输出字典序最小的解... Peaceful Commission Time Limit: 10000/5000 MS (Java/Others)    Mem ...

  10. 【WPF】ListBox使用DataTemplate 以及默认选中第一项Item

    ListBox中DataTemplate的用法如下 . <ListBox x:Name="areaLB" ItemsSource="{Binding AreaNum ...