本文将从以下四个方面进行讲解:
1. 如何用netTcpBinding去创建一个WCF服务?
2. 如何在Windows Service里Host WCF服务?
3. 如何去开始Windows Service?
4. 如何调用WCF服务?
创建WCF服务
第一步:
首先,创建一个WCF Library Project。
第二步:
创建契约。删除WCF自动生成的全部代码,然后创建像下面的这个契约。
第三步:
实现服务
第四步:
配置服务 netTcp Binding 的 Endpoint 。
1. Configure Service Behavior
2. Configure end point with netTcpBinding
3. Configure the meta data exchange end point
注意: 确认Endpoint的Name写上了,否则当客户端调用服务时将会产生Runtime Exception。
WCF library project 的配置文件App.Config的全部内容如下:
App.Config
创建Windows Service
第一步:
在同一个Solution下添加一个新的Project, 选择Project类型为Windows Service
第二步:
在Windows Service Project 上点右键,添加参照
1. System.ServiceModel
2. Project参照 WCF Library project
第三步:
从WCF Service Library工程先复制App.Config文件,粘帖到Windows Service 工程下面。
复制粘贴后,我们在Windows Service工程里面会看到App.Config这个文件
第四步:
添加安装服务。 在Windows Service工程下的Service1.cs文件上右键选择View Designer
设计页面打开后,右键选择Add Installer
Add Installer 点击完以后, Windows Service 工程下面将会添加一个ProjectInstaller.cs 文件
ProjectInstaller.cs 上右键选择View Designer
在设计器页面,我们将会看到 ServiceProcessInstaller1 和serviceInstaller1
右键 ServiceProcessInstaller1 选择 Properties, 在 Properties 栏设定 【Account】 属性为 【NetworkServices】
右键 serviceInstaller1 选择 Properties,在 Properties 栏设定 【Start Type 】 属性为 【Automatic】
第五步:
修改 Windows Service, 打开 Windows Service Project 下的 Service1.cs 文件
1. 添加命名空间
2. 声明变量
3. Windows Service 的 OnStart() 方法
4. Windows Service 的 OnStop() 方法
5. Windows Service Project 下的Service1.cs的全部代码如下:
Service1.cs
第六步:
Build 整个 Solution, Build 成功以后, 在Debug文件夹下你将看到一个EXE文件。
第七步:
安装 Windows Service
为了安装我们上面所做的Windows Service, 需要在命令行的提示下写入下面的代码, 确认你输入的Service.exe的文件路径是正确的。
安装成功以后,你将得到如下的信息:
打开开始菜单⇒运行
打开Windos Service, 可以看见我们Windows Service Project下的Service类名Service1
服务是自动开始的,右键开始服务
现在我们的WCF的服务就宿主到了Windows Service上了。
第八步:
创建客户端
1. 在 Solution 上右键去添加一个新的 Console application 工程
2. 右键这个Console application 工程添加参照,复制 App.Config文件里的基地址到这
3. 现在创建一个简单的客户端实例去调用WCF服务
Programs.cs
按 【F5】运行这个Console application , 确认这个Console application Project 是启动工程。
这就是如何创建netTcpBinding的WCF以及如何宿主到Windows Service的全部过程, 我希望这些内容对刚刚接触WCF的人可以有一些帮助,Thanks for reading。