轻松学会创建Windows服务(Windows Services)

论坛 期权论坛     
选择匿名的用户   2021-5-30 00:18   302   0
<div class="blogpost-body" id="cnblogs_post_body">
第一步:创建Windows 服务工程
<br>要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 确定。一上来系统自动为你生成了一个叫Service1.cs的组件(为什么叫它组件呢,因为它既有代码又有可视化试图)
<br>
<br>
<img alt="" border="0" height="364" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-b30dfa99014b99aae5f3c7e102432856.gif" width="500">
<br>
<br>第二步: 将安装程序添加到服务应用程序
<p> Visual Studio.NET 随附有安装组件,可用来安装与服务应用程序相关联的资源。安装组件在正在安装到的系统上注册一项单个的服务,并使服务控制管理器知道该服务的存在。</p>
<p>要正确安装服务,并不需要在安装程序中进行任何特殊编码。但是,如果需要向安装进程添加特殊功能,则可能偶尔需要修改安装程序的内容。</p>
<p>       将安装程序添加到服务应用程序的步骤是:</p>
<p>1:在解决方案中,访问要向其中添加安装组件的服务的Design视图。也就是刚才系统自动生成的Service1.cs<br>打开它的Design View ,然后在其视图上右键。<br><img alt="" border="0" height="375" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-c2426e47421b89f133e0942573ccd189.JPG" style="width:594px;" width="594"></p>
<p>2:在属性窗口中,单击添加安装程序链接<br></p>
<p><img alt="" border="0" height="449" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-e7b1401de1602625a3eebb026e050bbb.JPG" style="width:598px;" width="598"><br><br>这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。 <br><br><img alt="" border="0" height="450" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-e7b1401de1602625a3eebb026e050bbb.JPG" width="600"><br></p>
<p>3:若要确定如何启动服务,请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值。</p>
<p>ü         Manual      服务安装后,必须手动启动。</p>
<p>ü         Automatic    每次计算机重新启动时,服务都会自动启动。</p>
<p>ü         Disabled     服务无法启动。</p>
<p>4:将serviceProcessInstaller类的Account属性改为 LocalSystem</p>
<p>     这样,不论是以哪个用户登录的系统,服务总会启动。</p>
<p> <br><br>第三步:在服务中填写你要完成功能的代码<br><br>分别在服务开始和停止时、资源释放时等事件中写入要完成的代码,其实这里你为了简单验证,可以使用<br>log4net组件来打出一行标记日志就可以了!</p>
<div style="border-right:#cccccc 1px solid;border-top:#cccccc 1px solid;font-size:13px;border-left:#cccccc 1px solid;border-bottom:#cccccc 1px solid;background-color:#eeeeee;">
  <span style="color:#008080;"> 1</span>
  <img align="top" alt="ExpandedBlockStart.gif" id="Codehighlighter1_1_91_Open_Image" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-24a924a57ba6b3f2b51fc9edb7ea4186.gif">
  <img align="top" alt="ContractedBlock.gif" id="Codehighlighter1_1_91_Closed_Image" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9310e85a14af99de4811ff4c77f1f911.gif">
  <span style="color:#000000;">    </span>
  <span id="Codehighlighter1_1_91_Closed_Text" style="border-right:#808080 1px solid;border-top:#808080 1px solid;border-left:#808080 1px solid;border-bottom:#808080 1px solid;background-color:#ffffff;">/**/</span>
  <span id="Codehighlighter1_1_91_Open_Text"><span style="color:#808080;">///</span><span style="color:#008000;"> </span><span style="color:#808080;">&lt;summary&gt;</span><span style="color:#008000;"><br></span><span style="color:#008080;"> 2</span><span style="color:#008000;"><img align="top" alt="InBlock.gif" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-1408c5260b2f05e450dee929db9be5f7.gif">        </span><span style="color:#808080;">///</span><span style="color:#008000;"> Set things in motion so your service can do its work.<br></span><span style="color:#008080;"> 3</span><span style="color:#008000;"><img align="top" alt="ExpandedBlockEnd.gif" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-f466905a3bcb5dcef110eab799825254.gif">        </span><span style="color:#808080;">///</span><span style="color:#008000;"> </span><span style="color:#808080;">&lt;/summary&gt;</span><span style="color:#808080;"></span></span>
  <br>
  <span style="color:#008080;"> 4</span>
  <img align="top" alt="None.gif" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-731655954c7be9d8835ece551b5385f8.gif">
  <span style="color:#000000;">        </span>
  <span style="color:#0000ff;">protected</span>
  <span style="color:#000000;"> </span>
  <span style="color:#0000ff;">override</span>
  <span style="color:#000000;"> </span>
  <span style="color:#0000ff;">void</span>
  <span style="color:#000000;"> OnStart(</span>
  <span style="color:#0000ff;">string</span>
  <span style="color:#000000;">
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP