WCF开发实战系列四:使用Windows服务发布WCF服务
WCF开发实战系列四:使用Windows服务发布WCF服务
(原创:灰灰虫的家http://hi.baidu.com/grayworm)
上一篇文章中我们通过编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式,我们称这种方式为Self-Host服务发布方式,这一篇文章我们来看一下如何编写Windows服务来发布WCF服务。
第一步:建立Windows服务程序WindowsServiceHost
《图1》
《图2》
第二步:向ConsoleBookServiceHost程序中添加两个引用:一个是WCF服务库Services项目的引用,另一个是System.ServiceModel引用。
第三步:修改Service1的属性
在Service1的设计界面中右击,选择“属性”,把其中的(Name)和ServiceName都改为BookServiceHost
《图3》
第四步:在Service1中编写代码如下
《图4》
第五步:配置App.Config。
在这里我们不再详细说明如何配置了,我们直接把上一次SelfHostBookService项目中的App.Config复制过来却可
《图5》
到这里我们已经作好一个可以发布BookService服务的Windows Service宿主程序了。
下面我们要看一看如何把这个Windows Service运行起来。
第六步:为服务添加安装程序。
在Service1设计界面中右击,选择“添加安装程序”
《图6》
生成安装程序组件,出现界面如下
《图7》
serviceProcessInstaller1:服务安装的信息
《图8》
serviceInstaller1:服务本身的信息
《图9》
编译成功
第七步:安装上面编写完的服务
打开VS2008命令窗口,进入当前项目的bin/Debug文件夹中,执行命令 :installutil WindowsServiceHost.exe
《图10》
《图11》
第八步:启动BookServiceHost服务
打开服务管理器,我们可以看到我们刚刚注册上的服务已经存在了,但还没有启动,右击“启动”
《图12》
第九步:测试服务:
打开IE,在地址栏中输入:http://localhost:8081/BookService 出现下面的界面
《图13》
在VS2008命令窗口中输入:wcftestclient http://localhost:8081/BookService 出现下面的界面
《图14》
调用相应终结点的方法添加书籍,运行正常。
----------------------
源码在这里。
WCF开发实战系列四:使用Windows服务发布WCF服务的更多相关文章
- WCF开发实战系列二:使用IIS发布WCF服务
WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS200 ...
- WCF开发实战系列二:使用IIS发布WCF服务 转
转 http://www.cnblogs.com/poissonnotes/archive/2010/08/28/1811141.html 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们 ...
- WCF开发实战系列一:创建第一个WCF服务
WCF开发实战系列一:创建第一个WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在这个实战中我们将使用DataContract,ServiceContract ...
- WCF开发实战系列一:创建第一个WCF服务 转
转 http://www.cnblogs.com/poissonnotes/archive/2010/08/28/1811064.html 在这个实战中我们将使用DataContract,Servic ...
- WCF开发实战系列三:自运行WCF服务
WCF开发实战系列三:自运行WCF服务 (原创:灰灰虫的家 http://hi.baidu.com/grayworm)上一篇文章中我们建立了一个WCF服务站点,为WCF服务库运行提供WEB支持,我们把 ...
- WCF开发实战系列五:创建WCF客户端程序
WCF开发实战系列五:创建WCF客户端程序 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在前面的三篇文章中我们分别介绍了WCF服务的三种载体:IIS.Self-Hos ...
- 搞懂Dubbo服务发布与服务注册
一.前言 本文讲服务发布与服务注册,服务提供者本地发布服务,然后向注册中心注册服务,将服务实现类以服务接口的形式提供出去,以便服务消费者从注册中心查阅并调用服务. 本文源码分析基于org.apache ...
- WCF学习系列二_使用IIS发布WCF服务
原创作者:灰灰虫的家http://hi.baidu.com/grayworm 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发 ...
- WCF入门教程系列四
一.概述 配置也是WCF编程中的主要组成部分.在 以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里.但WCF有所不同.他指定向客户端公开的服务,包括服务的地址. 服务 ...
随机推荐
- week3-构造一个简单的linux系统
潘恒 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.gdb跟踪调试内核 ...
- Python学习笔记 -- 第五章
模块 使用模块可以提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块: ...
- Junit测试用例
一.题目简介 返回一个给定整数参数的绝对值. 二.源码的github链接 https://github.com/liyan941016/test/blob/master/FileTest.java h ...
- 【SE】Week3 : 四则运算式生成评分工具Extension&Release Version(附加题)
[附加题]第四阶段目标 - 界面模块,测试模块和核心模块的松耦合. 写到这里我只想吐槽一句,哪天我能写出功能复杂且真正松耦合的模块,我应该就不用写代码了吧[手动再见.. 当然这只是强调下松耦合和代码复 ...
- EL表达式和JSTL标签库
expresion language表达式语言 可以输出表达式的值.跟jsp的表达式脚本一样.计算表达式的值后输出. EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化. 1. ...
- os模块+sys模块+random模块+shutil模块
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cdos.curdir ...
- Linux常用指令-ssh
目录 ssh远程登陆 ssh免密码登陆 生成公钥和私钥 将公钥复制到其他从机 文件说明 id_rsa id_rsa.pub authorized_keys known_host SSH(远程连接工具) ...
- error eslint@5.12.0: The engine "node" is incompatible with this module.
初始化 react项目时报错: error eslint@5.12.0: The engine "node" is incompatible with this module. E ...
- WPF 如何控制右键菜单ContextMenu的弹出
在具体做一些项目的时候,有时候需要需要先左键点击某个节点,然后再右键点击节点的时候才弹出右键菜单,所以直接右键点击时需要禁用掉右键菜单,这里比如我们为Grid添加了ContextMenu,但是我们需要 ...
- Flutter & Dart
Flutter & Dart https://www.dartlang.org/install https://flutter.dev/ https://flutter.dev/docs/ge ...