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服务中还看不出来复杂性,随着项目的复杂,配置项也是方便管理的,因为可以停止、重新启动。睡觉了。拜拜
我又回来了,回到了技术最前线,
相关文章
|
4月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
573 116
|
5月前
|
人工智能 JavaScript 开发工具
极速上手!Claude Code 原生支持 Windows 免WSL安装教程
Claude Code 现已支持 Windows 原生运行,无需 WSL 配置。本文提供详细安装教程,涵盖 Node.js 环境验证、Git 安装及 Claude Code 配置步骤,助你快速上手这一强大 AI 编程工具。
4087 5
|
5月前
|
并行计算 数据格式 异构计算
完整教程:从0到1在Windows下训练YOLOv8模型
本文详细介绍在Windows系统下使用YOLOv8训练目标检测模型的完整步骤,涵盖环境配置、数据集准备、模型训练与测试、常见问题解决及GPU加速技巧。提供详细命令与代码示例,并推荐现成数据集与工具,助您高效完成模型训练。
2521 18
完整教程:从0到1在Windows下训练YOLOv8模型
|
8月前
|
Ubuntu Linux 数据安全/隐私保护
Windows中安装WSL 2和Ubuntu系统的教程
回看这一路,有趣吧?你已经跨界成为了一个Windows和Linux的桥梁。期待在代码的世界里,把一切玩得风生水起!
465 13
|
10月前
|
Ubuntu 数据库 虚拟化
Windows 环境下 Odoo 安装保姆级教程
本教程详细介绍了在 Windows 系统上通过虚拟机部署 Odoo 的完整流程。首先确认硬件需求,确保 CPU、内存和磁盘空间满足最低配置;接着安装 VMware Workstation Pro 并创建 Ubuntu 虚拟机,配置桥接网络以实现主机与虚拟机的通信;随后借助微聚云快速安装预配置好的 Odoo 环境,简化复杂环境搭建;最后通过浏览器访问虚拟机 IP,完成 Odoo 数据库初始化及基础设置。整个过程清晰易懂,适合新手快速上手 Odoo 部署。
1275 4
|
11月前
|
安全 固态存储 文件存储
Windows 7纯净版重装教程|附微软原版镜像下载+驱动安装避坑技巧
本文详细介绍如何安全、高效地重装电脑系统,解决蓝屏、崩溃等问题。基于10年经验,涵盖从官方镜像获取、启动盘制作、数据备份到系统部署的全流程,并针对老旧机型优化。提供驱动一键安装工具和系统激活指南,确保无后门风险。文中还列出常见问题解决方案及操作禁忌,帮助用户顺利完成系统重装,让电脑重获新生。建议收藏并转发给有需要的朋友,欢迎留言咨询疑难问题。
27658 3
|
11月前
|
固态存储 C++ 计算机视觉
Windows平台GIMP 2.10下载教程:零基础入门高级图像编辑
GIMP(GNU Image Manipulation Program)是一款开源跨平台图像编辑工具,支持图层管理、高级修图、色彩校正等功能,广泛应用于平面设计和照片修复。其优势包括全功能免费、插件生态丰富(600+扩展插件)、硬件要求低(1GB内存即可流畅运行)。本文详细介绍GIMP的软件定位、安装流程、首次配置及常见问题解答,帮助用户快速上手并充分利用其强大功能。