我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#中怎么创建一个Service模板

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#中怎么创建一个Service模板

C#中怎么创建一个Service模板,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

打开VS 2005,点击File->New->Project…,在C#创建工程向导中选择Windows Service模板。

在工程名输入框中,输入TestService然后点击OK.VS为我们生成了最基本的代码,我们将Service的名称改为我们期望的名称,在 solution explorer中右键点击vs自动生成的Service文件“Service1.cs”,在弹出的菜单中选择Rename,输入 “MyFirstService”,然后切换到设计视图,也就是在solution explorer中双击MyfirstService.cs,在Property Explorer中将ServiceName属性改为MyFirstService,这时一个可运行的windows Service已经C#创建成功。我们添加一些代码来测试一下这个Service,最简单的测试方式就是向windows event log里来添加一些消息以显示我们的Service的状态。

我们需要一个EventLog组件向windows log中添加信息,在solution explorer中双击MyfirstSerivce文件切换到设计视图,将工具箱中的EventLog组件拖到设计视图中,我们保留EventLog组件的默认名称eventLog1.选中eventLog1,在property explorer中将Log属性选为Application,在Source属性中输入“MyFirstService”。接下来,我们在设计视图的空白处,右键点击,并选择View Code切换到代码视图,在OnStart和OnStop方法里输入代码实现日志写入,代码如下:

要运行这个Service我们还要做下边的几个步骤:

为我们的Service添加Installer,右键点击设计视图,选择Add Installer,VS将会为我们添加ProjectInstaller.cs,并在ProjectInstaller中添加组件 ServiceInstaller1和ServiceProcessInstaller1,现在我们来修改他们的属性来控制Service的安装和启动选项。在ProjectInstaller得设计视图中选中ServiceProcessInstaller1,将它得Account属性选为 LocalSystem,这样以这个帐号服务启动。如果你希望系统启动时自动启动服务得话,将ServiceInstaller1的StartType的属性选为Automatic,如果手动启动的话,选为manaul.

安装Service,我们要用到IntallUtil.exe这个程序,这个程序位于C:\WINDOWS\Microsoft.NET \Framework\v2.0.50727.点击开始菜单,选择“运行”,在运行对话框中输入cmd,进入到命令行窗口,输入cd :\WINDOWS\Microsoft.NET\Framework\v2.0.50727,进入到这个目录,然后输入installutil F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe, installutil后边的内容就是我们的工程生成的可执行程序的路径,情根据需要修改。

如果你给ServiceInstaller1的StartType设为Automatic的话,安装完服务,服务已经运行起来了,如果 StartType是Manual的话,你需要手动启动。现在我们进入“服务”,要打开“服务”,请单击“开始”,指向“设置”,然后单击“控制面板”。依次单击“性能和维护”、“管理工具”,然后双击“服务”。在里边你应该能够看到我们制作的Service MyFirstService.在这里边,我们可以启动,关闭服务,还可以设置服务的启动类型。然后,我们看看服务有没有正确的写入日志,我们需要进入到事件查看器,要打开“事件查看器”,请单击“开始”,指向“设置”,然后单击“控制面板”。单击“性能和维护”,单击“管理工具”,然后双击“事件查看器 ”。

如果你不需要这个Service了,仍然使用InstallUtil这个程序来卸载,不过在InstallUtil后跟参数 –u,比如installutil –u F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe.

Service的调试方法与普通的程序调试方法是不一样的。我来介绍一下。

Build你的项目

设置断点,因为我们的Service非常的简单,没有什么执行逻辑,所以设置断点没有任何意义,大家可以自己写一些代码来实践。一般来说,我们服务里需要用到一个另外的线程来执行任务,你需要在线程的执行代码中来设置断点。

安装Service,我们前边有介绍如何安装。

如果你的Service启动类型是手动(Manual),你需要到“服务”里启动你的Service.一般来说,如果你的Service在开发阶段,我推荐你将Service的启动类型设置为Manual,这样便于调试,因为如果Service在运行过程中,你将无法build工程。

在VS中,从菜单中选择Debug->Attach Process…。

如果你找不到自己的Service,请选中Show processes from all users.在Available processes列表中选中我们的Service所在的进程TestService,然后点击Attach按钮,如果你设置的断点合理的话,那么,程序就会停在断点处,接下来你就可以进行调试了。

usingSystem;  usingSystem.Collections.Generic;  usingSystem.ComponentModel;  usingSystem.Data;  usingSystem.Diagnostics;  usingSystem.ServiceProcess;  usingSystem.Text;   namespaceTestService  {  publicpartialclassMyFirstService:ServiceBase  {  publicMyFirstService()  {  InitializeComponent();  }   protectedoverridevoidOnStart(string[]args)  {  //TODO:Addcodeheretostartyourservice.  eventLog1.WriteEntry("Servicestart");  }   protectedoverridevoidOnStop()  {  //TODO:Addcodeheretoperformanytear-downnecessaryto  stopyourservice.  eventLog1.WriteEntry("Servicestop");  }  }  }

关于C#中怎么创建一个Service模板问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#中怎么创建一个Service模板

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#中怎么创建一个Service模板

C#中怎么创建一个Service模板,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。打开VS 2005,点击File->New->Project…,在C#创建工程向导中选择W
2023-06-17

C#中怎么创建一个Web Service服务

本篇文章为大家展示了C#中怎么创建一个Web Service服务,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为什么需要Web Service?以前,分布式的应用程序逻辑需要使用分布式的对象模型,通
2023-06-18

C#怎么创建VS2003模板

这篇文章主要介绍了C#怎么创建VS2003模板的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么创建VS2003模板文章都会有所收获,下面我们一起来看看吧。一、创建类库的类文件模板1.新建一个C#的类库项目
2023-06-17

怎么在Kubernetes里创建一个Nginx service

本篇内容主要讲解“怎么在Kubernetes里创建一个Nginx service”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Kubernetes里创建一个Nginx service”吧!
2023-06-06

C#中怎么创建一个表单

这期内容当中小编将会给大家带来有关C#中怎么创建一个表单,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#创建表单这非常简单,只需要创建一个从 System.WinForms.Form 类中衍生出来的类,
2023-06-17

C#中怎么创建一个Access表

本篇文章给大家分享的是有关C#中怎么创建一个Access表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#操作Access主要知识点如下:using System.Data.
2023-06-18

c++怎么创建一个类

在C++中,可以通过以下步骤来创建一个类:1. 声明类:在头文件(.h或.hpp)中声明类的名称和成员函数。例如:```cppclass MyClass {// 成员变量private:int myInt;// 成员函数public:voi
2023-08-16

C#中怎么创建一个DataSet对象

C#中怎么创建一个DataSet对象,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 启动 Microsoft Visual Studio .NET。在文件菜单上,单击新
2023-06-17

C#中怎么创建一个Excel文件

这篇文章给大家介绍C#中怎么创建一个Excel文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#创建Excel文件实现实例://创建一个excel application Excel.Application xl
2023-06-17

C#中怎么创建一个文件夹

本篇文章为大家展示了C#中怎么创建一个文件夹,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#创建文件夹在不同虚拟目录下的实现方法是用Server.MapPath("相对路径").相对路径根据不同情
2023-06-17

C#中怎么创建一个Word文档

C#中怎么创建一个Word文档,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#创建Word文档实例:using MSExcel = Microsoft.Office.Inte
2023-06-17

C#中怎么创建一个XML文档

本篇文章为大家展示了C#中怎么创建一个XML文档,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.创建一个XML文档:这一点和***种方法一样,在这里就不介绍了。2.通过"XmlDocument"类
2023-06-17

C#中怎么动态创建一个数组

这期内容当中小编将会给大家带来有关C#中怎么动态创建一个数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#动态创建数组实例:ArrayList al = new ArrayList(); al.A
2023-06-17

C#中怎么创建一个类库工程

这篇文章将为大家详细讲解有关C#中怎么创建一个类库工程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#语言有很多值得学习的地方,这里我们主要介绍C#类库工程,包括介绍使用对象浏览器浏览两个
2023-06-17

C# 中怎么创建一个复合控件

本篇文章为大家展示了C# 中怎么创建一个复合控件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。构建提供丰富的客户端接口的复杂Web控件经常需要把一些客户端JavaScript代码与控件的服务器端代码
2023-06-17

全C#中怎么创建一个XML文件

今天就跟大家聊聊有关全C#中怎么创建一个XML文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#创建XML文件的相关概念:这篇文章假定读者具备一定的XML基础,如果你刚接触XML
2023-06-17

kibana怎么创建索引模板

要在Kibana中创建索引模板,您可以按照以下步骤操作:1. 打开Kibana控制台并登录到您的Kibana实例。2. 在左侧导航栏中,选择"Stack Management"(版本7.x之前的Kibana中称为"Management")。
2023-09-18

C#中怎么创建一个Web应用程序

这期内容当中小编将会给大家带来有关C#中怎么创建一个Web应用程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#创建Web应用程序项目在本节中,创建表示应用程序的用户界面的 Visual C# 或 V
2023-06-17

C++中怎么手动创建一个内存池

今天就跟大家聊聊有关C++中怎么手动创建一个内存池,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。引言使用new expression为类的多个实例分配动态内存时,cookie导致内存
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录