学习笔记16 window service 服务的相关内容

本文介绍C# WindowsService项目的安装、调试过程,包括安装、卸载及启动方法,提供两种安装方式,并详细讲解了安装工程的创建步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没使用window service 了 

一同事问倒安装的问题.我突然不知道具体的步骤了.

于是转载别人的一篇blog 表示备用:

或者是用:

WINDOW服务程序---制作安装全过程 链接是:http://hi.baidu.com/landeng99/blog/item/efe05cf39276e95a342accb8.html

上面的是有图形的,下面的....也可用试试看!!


原文如下:

 近段时间在做C#的项目,使用到了Windows Service.项目包括一个Windows Service工程,一个具体的业务处理工程(dll)
以及一个安装工程.现就这几天的使用心得做一下说明.
    1.Windows Service程序与一般程序的区别。
 Windows Service程序不能等同于一般的程序,直接调试或者运行是不起作用的。
    2.Windows Service程序的安装,卸载和启动。
        要想运行一个Windows Service程序,首先必须将这个服务程序安装到Windows服务中去。如何安装,卸载和启动Windows Service程序呢?最常用的有2种方式。
 方式一就是使用framwork自带的InstallUtil命令以及net start命令。
  1) 安装Service: InstallUtil testService.exe
  2) 卸载Service: InstallUtil /u testService.exe
  3) 启动Service: net start "服务名称"(当然最简单的就是手动启动了^_^)
 方式二就是做一个安装工程。
 方式二的最大好处就是通过相关设定,安装完服务后立马注册Windows Service程序到Windows服务中去,下面我们就
 详细说明一下,如何实现这种处理方式。
  1) 为你的Windows Service工程(假设为:testService)添加一个安装工程(假设为:testServiceSetup)。
  2) 右键点击创建的安装工程(testServiceSetup)选择"追加"-->"项目输出",在"添加项目输出组"对话框中选择"主输出",
     在"项目"下拉框中选择需要主输出的服务程序即testService。
  3) 右键点击创建的安装工程(testServiceSetup)选择"视图"-->"自定义操作",右键点击"自定义操作"添加"自定义操作",
     选择应用程序文件夹中的主输出程序testService,此时在以下4个节点(安装,提交,回滚,卸载)中都添加了主输出程序testService。
  4) 编译安装。
 安装完毕后你创建的服务已经添加到Windows服务中去了。
    3.Windows Service调试。
 启动Visual Studio,打开你的testService project.选择菜单"调试->进程"。在进程窗口里附加你的服务程序testService.exe。如果你看不到你的
 testService.exe,请选中"显示所有会话中的进程".这样你才能看到以system账号运行的Service. 如果你已经设置了断点,当Serice运行到你设置的
 断点时,程序就会停下来等待你的调试。(说明:只有Debug模式下编译的testService.exe才可以进行调试)
    4.Onstart()的调试。
 1) 在方法Onstare()里设置System.Timers.Timer,然后用Timer来延迟启动服务。延迟的时间由你进入调试状态的时间来决定。可以设置为5秒。

### Python 学习笔记与教程资源 对于希望深入学习 Python 的用户来说,尚硅谷提供了丰富的教学材料和课程。这类资源通常覆盖了从基础语法到高级编程技巧的内容。 #### CPython 和其他解释器的选择 当提到 Python 编程环境设置时,了解不同类型的 Python 解释器有助于选择最适合的学习工具。官方推荐的是 CPython,这是由 C 语言编写的标准实现[^1]。它不仅稳定而且拥有广泛的社区支持,非常适合初学者入门以及后续开发工作。 #### Windows 平台上验证 Python 安装的方法 为了确认 Python 是否已经正确安装,在 Windows 操作系统的命令提示符(cmd)里可以通过简单的指令测试版本信息。这一步骤能够帮助确保所使用的环境中已准备好进行进一步的学习实践[^2]: ```bash python --version ``` #### 使用 Selenium 自动化浏览器操作 在 Web 开发或者数据抓取过程中,Selenium 是一个非常有用的库。通过安装并配置好对应的 WebDriver 后,可以轻松地控制网页加载、交互等行为。下面是一个利用 Edge 浏览器访问百度首页的例子[^3]: ```python from selenium.webdriver.edge.service import Service as EdgeService from selenium import webdriver service = EdgeService(executable_path="path/to/msedgedriver") browser = webdriver.Edge(service=service) browser.maximize_window() browser.get("https://www.baidu.com") source_code = browser.page_source print(source_code) browser.quit() ``` #### Scrapy 中 LinkExtractor 组件的应用场景 Scrapy 是另一个强大的网络爬虫框架,其中 `LinkExtractor` 类用于提取页面中的链接地址。一旦定义好了规则,则无需重复导入该类即可继续使用其功能[^4]. #### RabbitMQ 高可用集群部署方案简介 随着应用程序规模的增长,单一节点的消息队列可能无法满足高并发需求。此时考虑构建一个多实例组成的 RabbitMQ 集群就变得尤为重要。这种方式不仅可以提高系统的可靠性和性能,还能更好地应对突发流量带来的挑战[^5].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值