Wcf 基础教程 服务寄宿之 Windows 服务寄宿

简介: wcf的寄宿方式多种多样,今天我们一起来探讨一下windows 服务的寄宿方式,其实明白了控制台的寄宿方式,在windows下的寄宿方式也是一样,只不过是操作方式有点区别。编程代码基本是一样的。 我们首先创建一个window 服务应用程序,然后在service1.cs设计界面中添加安装程序,这些都是我们创建windows服务应用程序应该熟知的步骤,我就不再赘述了,我们需要做的就是把控制台程序中的添加服务宿主的代码拷贝到windows服务应用程序中。

wcf的寄宿方式多种多样,今天我们一起来探讨一下windows 服务的寄宿方式,其实明白了控制台的寄宿方式,在windows下的寄宿方式也是一样,只不过是操作方式有点区别。编程代码基本是一样的。

我们首先创建一个window 服务应用程序,然后在service1.cs设计界面中添加安装程序,这些都是我们创建windows服务应用程序应该熟知的步骤,我就不再赘述了,我们需要做的就是把控制台程序中的添加服务宿主的代码拷贝到windows服务应用程序中。

 1   protected override void OnStart(string[] args)
 2         {
 3 
 4             using (ServiceHost host = new ServiceHost(typeof(CalService), new Uri("http://127.0.0.1:9999/calService")))
 5             {
 6 
 7                 host.AddServiceEndpoint(typeof(ICal), new WSHttpBinding(), "");
 8                 if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null)
 9                 {
10                     ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
11                     behavior.HttpGetUrl = new Uri("http://127.0.0.1:999/calService/mex");
12                     behavior.HttpGetEnabled = true;
13                     host.Description.Behaviors.Add(behavior);
14                 }
15                 if (host.State != CommunicationState.Opening)
16                 {
17                     host.Open();
18 
19                 }
20             }
21         }

代码基本没变,唯一变的就是代码放置的位置,我们放置到了windows服务启动的事件中。这样我们就可以在windows服务寄宿的时候,通过浏览器浏览到我们创建的服务元数据。

下面就是安装这个windows服务应用程序了,我们不能像控制台程序那样直接在vs中运行,windows服务应用程序必须安装到操作系统中才可以。我们采用的就是installUtil.exe 这个工具,定位到我们windows程序的目录,然后执行,就可以把服务安装到操作系统中,如果要卸载服务,只需在安装的路径后面添加-u即可卸载。

 

 

安装了服务,我们确保服务启动以后,就可以正常在浏览器中浏览了。

上面只是简单介绍了windows服务的编码实现,没有用到配置文件,和控制台程序一样,我不再赘述了。下面说说我为什么要单独把windows服务,操作那么简单的单独拿出来说呢:

  1.  windows服务可以在系统后台长时间运行,由操作系统控制。
  2. windows服务可以通过管理器方便的暂停、停止、启动,方便管理程序。
  3. 最重要的一点就是windows服务是我们开发中常用到的,我们不可能运行一个控制台程序一直在服务器运行,因为不知道哪个人就会关闭掉,安全性较差。
  4. 当然了,简单的运行wcf服务在windows服务中还看不出来复杂性,随着项目的复杂,配置项也是方便管理的,因为可以停止、重新启动。睡觉了。拜拜
我又回来了,回到了技术最前线,
相关文章
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
77 0
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2003 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2003 操作系统保姆级教程(附链接)
57 0
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
92 0
如何在 VM 虚拟机中安装 Windows 7 操作系统保姆级教程(附链接)
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows XP 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows XP 操作系统保姆级教程(附链接)
119 0
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
教程:幻兽帕鲁联机服务器多人游戏专用服务器(Windows)
幻兽帕鲁联机服务器多人游戏专用服务器(Windows)搭建教程,玩转幻兽帕鲁服务器,幻兽帕鲁Palworld多人游戏专用服务器一键部署教程,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云百科分享2024年新版基于阿里云搭建幻兽帕鲁服务器教程
|
4月前
|
JavaScript 前端开发 开发者
windows安装npm教程
windows安装npm教程
|
2月前
|
数据安全/隐私保护 网络虚拟化 开发者
appuploder 全过程使用教程(Windows 版本)
appuploder 全过程使用教程(Windows 版本)
|
4天前
|
安全 Unix Linux
Windows如何远程连接服务器?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。今天驰网飞飞将和你分享Windows server远程连接图文教程,希望可以帮助到你
20 4
Windows如何远程连接服务器?服务器远程连接图文教程
|
22小时前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
4 0
|
1天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
8 0