你的位置:首页 > 软件开发 > ASP.net > WCF学习之旅—WCF寄宿前的准备(八)

WCF学习之旅—WCF寄宿前的准备(八)

发布时间:2016-05-06 16:00:04
一、WCF服务应用程序与WCF服务库  我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”。 WCF服务应用程序,是一个可以执行的程序,它有独立的 ...

一、WCF服务应用程序与WCF服务库

  我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”。

     WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类协定的定义,可以直接看到运行的效果。

     WCF服务库,可以认为是一个包含WCF服务以及协定定义的类库。不能直接运行,你可以在其他项目里引用,在宿主里启用托管这个库,有点类似于我们在Web/get='_blank'>windows项目中应用的类库。考虑WCF服务设计的时候,服务类的定义为单独的库,可以为其它项目使用。提高代码的复用性。

  当然你也可以修改这些代码,比如把WCF服务程序里的类,移到一个单独的类库里,或是把类库里的类移到WCF服务程序中。

二、寄宿概述

  通过前面的介绍我们知道,WCF在运行时必寄宿在“宿主程序”之上,WCF本身不能够独自运行(每个WCF服务必须宿主在一个Windows进程中)。.net 提供了多种宿主供WCF运行,WCF还是非常灵活的。

 WCF学习之旅—WCF寄宿前的准备(八)

     WCF的宿主可以是 Windows 服务、COM+应用程序、WAS(Windows Activation Services,Windows进程激活服务)或IIS、Windows应用程序,或简单的控制台应用程序及任何.net程序。

三、创建WCF服务库为多种寄宿做准备

1) 打开Visual Studio 2015,在菜单上点击文件—>新建—>项目—>WCF服务应用程序。在弹出界面的“名称”对应的文本框中输入“WcfServiceLib”,然后点击“确定”按钮。如下图。

 WCF学习之旅—WCF寄宿前的准备(八)

2) 把Visual Studio 2015自动生成的两个文件(IService1.cs、Service1.cs)删除。

3)  鼠标右键查看项目属性。如下图所示。

 WCF学习之旅—WCF寄宿前的准备(八)

4) 查看WcfServiceLib项目的引用,我们会发现“WCF类库项目”与我们平时建立的 “类库项目”都是类库,只不过多了WCF的类库项目在新建时多了两个dll的引用(System.ServiceModel.dll、 System.Runtime.Serialization.dll)和一个自动生成的配置文件(该配置文件只用于调试时使用,在WCF寄宿以后会应用宿 主的配置文件与其他应用程序通信)。如下图。

 WCF学习之旅—WCF寄宿前的准备(八)

 

5) 服务端我们还和第一个教程一样(IBookService接口与BookSservice实现),创建IBookService接口。代码如下。

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;namespace WcfServiceLib{  // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IBookService”。  [ServiceContract]  public interface IBookService  {    [OperationContract]    string GetBook(string Id);  }}

原标题:WCF学习之旅—WCF寄宿前的准备(八)

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。