Hosting WCF Service with netTcpBinding in Windows Service

来源:互联网 发布:手机自动抢购软件 编辑:程序博客网 时间:2024/05/22 12:24

本文将从以下四个方面进行讲解:

 

    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。

 

 

 

 

原创粉丝点击