要交租子了
来源:互联网 发布:seo研究中心vip课程 编辑:程序博客网 时间:2024/04/25 11:57
近期一直比较忙已经很长时间没有更新Blog了,公司又要交什么所谓的技术报告,现把以前写的一下文章重新整理了一下。 相关内容如下:
Windows Service的安装,卸载,启动以及调试
在做C#项目时,使用到了Windows Service。现结合项目就Windows Service的相关知识做一下简单介绍。
一. 项目介绍
项目包括3个工程:一个Windows Service工程,工程名称为testService;一个具体的业务处理工程(dll),工程名称为testProject;一个安装工程,工程名称为testServiceSetup。
二. 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控制台中去了。
5) 启动Service: net start "服务名称"(当然最简单的就是手动启动了^_^)
三. Windows Service的调试
Windows Service程序不同于一般的应用程序,直接调试是不起作用的。在.net环境下怎样才可以实现对Windows Service程序的调试呢。
启动Visual Studio,打开你的工程testService。选择菜单"调试->进程"。在进程窗口里附加你的服务程序testService.exe。如果看不到 testService.exe,请选中"显示系统进程"。这样就能看到以system账号运行的Service。如果你已经设置了断点,当Serice运行到你设置的断点时,程序就会停下来等待你的调试。(说明:只有Debug模式下编译的testService.exe才可以进行调试)。
四. Onstart()的调试
1) 在方法Onstart()里设置System.Timers.Timer,然后用Timer来延迟启动服务。
1) 在方法Onstart()里设置System.Timers.Timer,然后用Timer来延迟启动服务。
延迟的时间由你进入调试状态的时间来决定。可以设置为5秒。当然服务启动后应停
止Timer(设置Timer.Enable=false).
2) 你的服务程序可以进行控制台间的交互。假设你的服务程序满足了如下条件:
2) 你的服务程序可以进行控制台间的交互。假设你的服务程序满足了如下条件:
public class ManagedWindowsService : System.ServiceProcess.ServiceBase
{
// designer and user generated methods and properties
public static int main(String[] args)
{
ServiceBase.Run( new MangedWindowsService() );
}
}
也就是说类似与一个应用程序。只需要添加如下语句就可以对Onstart()方法进行调试了。
public static int main(String[] args)
{
(new ManagedWindowsService()).OnStart();
ServiceBase.Run( new MangedWindowsService() );
}
- 要交租子了
- 要交毕业设计了
- 租子啄嘴醉锥姿紫琢准组状茁撞鬃总祖爪
- 终于交了文档
- 终于交房了
- 终于交作业了
- 审稿费交了
- 今天交了通讯录
- 快要交产品了。。
- 撞着纂纂纵紫抓租子琢锥庄灼子踪拙椎兹
- 要开始交软件学习的朋友了
- 论坛项目已经交了
- 工作累了,也要休息一下了,交个朋友总是好的
- 壮宗坠拽赘最租子灼奏淄渍自阻卒资准足
- 坏了坏了,以后用/proc读取Linux系统信息可能要给联想交专利费了
- 本人大四,马上要交毕业设计了,程序遇到麻烦。。急求助~!
- 我想杀人,交了钱下载不了我要的东东
- 要交c语言大作业了 找到的一些资料
- __stdcall __cdecl的区别
- 一些英文写作的语言技巧总结
- 金同学放二踢脚事件始末
- 有点想法之一
- 今天和大三的Passion成员们见了个面
- 要交租子了
- Windows下及linux下PVM并行计算平台的搭建
- 开工落!
- Ajax试验网站[收藏]
- Windows 文件系统漏洞中的.
- 克隆数据源(DataSource) --JMF
- Symbian OS 精要
- 如何删除系统已注册的服务
- &;論ぺ塵︶ㄣ