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服务中还看不出来复杂性,随着项目的复杂,配置项也是方便管理的,因为可以停止、重新启动。睡觉了。拜拜
我又回来了,回到了技术最前线,
相关文章
Windows平台GIMP 2.10下载教程:零基础入门高级图像编辑
GIMP(GNU Image Manipulation Program)是一款开源跨平台图像编辑工具,支持图层管理、高级修图、色彩校正等功能,广泛应用于平面设计和照片修复。其优势包括全功能免费、插件生态丰富(600+扩展插件)、硬件要求低(1GB内存即可流畅运行)。本文详细介绍GIMP的软件定位、安装流程、首次配置及常见问题解答,帮助用户快速上手并充分利用其强大功能。
Windows 7纯净版重装教程|附微软原版镜像下载+驱动安装避坑技巧
本文详细介绍如何安全、高效地重装电脑系统,解决蓝屏、崩溃等问题。基于10年经验,涵盖从官方镜像获取、启动盘制作、数据备份到系统部署的全流程,并针对老旧机型优化。提供驱动一键安装工具和系统激活指南,确保无后门风险。文中还列出常见问题解决方案及操作禁忌,帮助用户顺利完成系统重装,让电脑重获新生。建议收藏并转发给有需要的朋友,欢迎留言咨询疑难问题。
最新Typora1.9.5破解版下载与使用教程(Windows+Mac)
Typora是一款Markdown编辑器和阅读器。下载地址:[夸克网盘](https://pan.quark.cn/s/9d9d668fb859)。Windows版需替换`app.asart`文件并输入序列号激活;Mac版安装简单,下载后按提示操作,允许任何来源即可。具体步骤见文中图片说明。
155 1
阿里云国际Windows操作系统迁移教程
阿里云国际Windows操作系统迁移教程
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
241 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
322 4
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
857 4
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
140 9

热门文章

最新文章