WCF开发实战系列四:使用Windows服务发布WCF服务

时间:2022-06-11 11:40:35

WCF开发实战系列四:使用Windows服务发布WCF服务

(原创:灰灰虫的家http://hi.baidu.com/grayworm)

上一篇文章中我们通过编写的控制台程序或WinForm程序来为本机或远程机提供WCF服务的方式,我们称这种方式为Self-Host服务发布方式,这一篇文章我们来看一下如何编写Windows服务来发布WCF服务。

第一步:建立Windows服务程序WindowsServiceHost

WCF开发实战系列四:使用Windows服务发布WCF服务
《图1》

WCF开发实战系列四:使用Windows服务发布WCF服务
《图2》

第二步:向ConsoleBookServiceHost程序中添加两个引用:一个是WCF服务库Services项目的引用,另一个是System.ServiceModel引用。

第三步:修改Service1的属性
在Service1的设计界面中右击,选择“属性”,把其中的(Name)和ServiceName都改为BookServiceHost

WCF开发实战系列四:使用Windows服务发布WCF服务
《图3》

第四步:在Service1中编写代码如下

WCF开发实战系列四:使用Windows服务发布WCF服务
《图4》

第五步:配置App.Config。
在这里我们不再详细说明如何配置了,我们直接把上一次SelfHostBookService项目中的App.Config复制过来却可

WCF开发实战系列四:使用Windows服务发布WCF服务
《图5》

到这里我们已经作好一个可以发布BookService服务的Windows Service宿主程序了。
下面我们要看一看如何把这个Windows Service运行起来。

第六步:为服务添加安装程序。
在Service1设计界面中右击,选择“添加安装程序”

WCF开发实战系列四:使用Windows服务发布WCF服务
《图6》
生成安装程序组件,出现界面如下

WCF开发实战系列四:使用Windows服务发布WCF服务
《图7》
serviceProcessInstaller1:服务安装的信息

WCF开发实战系列四:使用Windows服务发布WCF服务
《图8》
serviceInstaller1:服务本身的信息

WCF开发实战系列四:使用Windows服务发布WCF服务
《图9》
编译成功

第七步:安装上面编写完的服务
打开VS2008命令窗口,进入当前项目的bin/Debug文件夹中,执行命令 :installutil WindowsServiceHost.exe

WCF开发实战系列四:使用Windows服务发布WCF服务
《图10》

WCF开发实战系列四:使用Windows服务发布WCF服务
《图11》

第八步:启动BookServiceHost服务
打开服务管理器,我们可以看到我们刚刚注册上的服务已经存在了,但还没有启动,右击“启动”

WCF开发实战系列四:使用Windows服务发布WCF服务
《图12》

第九步:测试服务:
打开IE,在地址栏中输入:http://localhost:8081/BookService 出现下面的界面

WCF开发实战系列四:使用Windows服务发布WCF服务
《图13》
在VS2008命令窗口中输入:wcftestclient http://localhost:8081/BookService 出现下面的界面

WCF开发实战系列四:使用Windows服务发布WCF服务
《图14》
调用相应终结点的方法添加书籍,运行正常。

----------------------

源码在这里