最近公司项目,本人也是刚接触windows服务,现在把这两天上网学习的一些资料拿出来与大家分享。

1)、关于windows服务安装包的制作和自动启动服务

http://blog.csdn.net/rechan/article/details/7451638

http://www.cnblogs.com/hb_cattle/archive/2011/12/04/2275319.html

http://www.cnblogs.com/yangbingqi/archive/2011/08/09/2132166.html

http://www.cnblogs.com/JemBai/archive/2009/04/30/1446696.html

2)、关于windows服务如是进行调试。

http://www.cnblogs.com/qfb620/archive/2008/12/17/1356994.html

实际上,我们可以直接在OnStart()方法中通过EventLog.WriteEntry("Hi,I'm wiseman");来向事件查看器中写入一些你感兴趣的信息,很大程度上可以解决debug的问题.

3)、关于win7系统上安装问题需要注意的问题。

http://blog.csdn.net/dragonpeng2008/article/details/6653004

http://q.cnblogs.com/q/23328/

http://home.cnblogs.com/wz/

添加应用程序清单文件 app.manifest     只要把 asInvoker替换成requireAdministrator,我们的程序就会默认要求管理员权限运行了

特别注意,在运行vs Cmd工具的时候,一定要以管理员的身份运行,否则注册installutil命令将不会执行。

4)、在ProjectInstaller服务安装类中想通过App.config配置文件来动态读取Service1的Description和DisplayName和ServiceName和StartType信息时异常原因。


关于windwos服务,ProjectInstaller服务安装类中InitializeComponent方法是读取不到App.config文件的!!!

个人是这样理解的认为windwos服务应用程序是有系统sys32运行调用的,所以需要修改到安装服务进程所在的目录。

string   strPath   = Assembly.GetCallingAssembly().Location;

或者string   strPath   = Environment.CurrentDirectory

在Service1服务类中,完全可以用ConfigurationSettings.AppSettings["test"]或者ConfigurationManager.AppSettings["test"]方法来获取。

5)、windows服务调试小技巧。

可以叫错误信息输出到事件日志查看器中

EventLog eventLog =new EventLog("Application",

ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//写入事件日志 
eventLog.WriteEntry(messageText, LogEntryType);

C# windows服务知识集锦的更多相关文章

  1. 玩转Windows服务系列——Debug、Release版本的注册和卸载,及其原理

    Windows服务Debug版本 注册 Services.exe -regserver 卸载 Services.exe -unregserver Windows服务Release版本 注册 Servi ...

  2. RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

    RDIFramework.NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架 ...

  3. CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程

    服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何 ...

  4. Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

    说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能 ...

  5. 如何用.NET创建Windows服务

    我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类 ...

  6. .net开发windows服务

    最近一个月都异常的繁忙,项目进度非常的紧,回头看看自己的blog,整整一个5月都没有一篇文章,非常惭愧,现在补几篇文章,介绍一下我最近关注的技术.这篇文章将介绍Windows服务程序的开发.摘要:本文 ...

  7. 玩转Windows服务系列——Debug、Release版本的注册和卸载,及其原理

    原文:玩转Windows服务系列——Debug.Release版本的注册和卸载,及其原理 Windows服务Debug版本 注册 Services.exe -regserver 卸载 Services ...

  8. NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

    NET框架SOA解决方案(集Windows服务.WinForm形式与IIS形式发布)-分布式应用 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.N ...

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

    很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解 ...

随机推荐

  1. C语言运算符(杂项运算符 ↦ sizeof & 三元)

    实列 1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 4; 6 short b; 7 double c; 8 int* ptr; 9 1 ...

  2. selenium元素定位之 八大元素定位

    进入网站,按F12,点击弹出框右上角的位置的小箭头,然后移到需要定位的元素上,点击一下即可定位元素(1) id定位(有id才可以定位)wd.find_element_by_id('') #输入id属性 ...

  3. 树莓派3B/3B+/4B 刷机装系统烧录镜像教程

    树莓派3B/3B+/4B 刷机装系统烧录镜像教程 树莓派 背景故事 刚拿到树莓派的第一件事,应该就是要装系统了,那么应该怎么操作呢?下面就给大家介绍一下吧. 硬件准备 树莓派:3B/3B+/4B,本教 ...

  4. 守护线程_daemon

    守护线程_daemon 线程分为用户线程和守护线程 虚拟机必须确保用户线程(main)执行完毕 虚拟机不用等待守护线程(gc)执行完毕 如:后台记录操作日志,监控内存,垃圾回收等等 测试案例: pac ...

  5. Linux上搭建zookeeper服务注册中心

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  6. xml editing in vi

    Auto complete tags xmledit installation: git clone https://github.com/sukima/xmledit.git, then make ...

  7. 使用 C# 下载文件的十八般武艺

    文件下载是一个软件开发中的常见需求.本文从最简单的下载方式开始步步递进,讲述了文件下载过程中的常见问题并给出了解决方案.并展示了如何使用多线程提升 HTTP 的下载速度以及调用 aria2 实现非 H ...

  8. Java通过SSLEngine与NIO实现HTTPS访问

    Java使用NIO进行HTTPS协议访问的时候,离不开SSLContext和SSLEngine两个类.我们只需要在Connect操作.Connected操作.Read和Write操作中加入SSL相关的 ...

  9. SpringBoot返回枚举对象中的指定属性

    枚举 package com.meeno.boot.oa.employee.enums; import com.alibaba.fastjson.annotation.JSONType; import ...

  10. vs2019编写c++的静态链接库并自己使用

    参考网址:https://blog.csdn.net/flame333/article/details/108346305 静态链接库1.新建一个静态库项目,其中有两个头文件,两个源文件 其中比较重要 ...