初识WCF三

 

  1. 建立服务文件

在前两篇中示范的例子,一定要力求背着做下来,包涵源程序、配置文件都要背着一行行的手写下去,那样才能有深厚的回味。WCF的学问零散复杂,必须扎扎实实的就学和练习。要是你还从未完结通晓于胸,今后不久翻回到把例子再做贰次。

图片 1

展开右侧的节点,在私下认可网址节点上点击右键,选取“添加应用程序”

<%@ServiceHost language=c# Debug="true" Service="LearnWCF.HelloWCFService"%>  

尝试环境在说澳优下:

IIS寄宿的劳动地点格式:

Visual Studio 2010 旗舰版 SP1

图片 2

这应当是个svc文件,而不是.txt文件,所以我们另存一下,另存的时候要专注保留类型选为全体文件。小编把那些文件起名称为HelloWCFService.svc,那一个名字可以私行起,那几个名字也将变为服务地方的一局部。保存地点正是大家刚刚确立IIS应用程序的职分。

 

因为用IIS,所以系统活动提交了沟通元数据的机械地址,而并未用localhost。

IIS7

故而我们那几个事例的服务地点应该是:http://localhost/IISService/HelloWCFService.svc 

小编们早已很清楚,还索要二个安插文件,在里边安顿终结点、服务、行为等等的音讯。这些布局文件和大家以前建立的差不离相同。

  1. 总结。

二)
<Service>标签未有了集散地址的叙说,在IIS寄宿中,服务基地址是由IIS负责钦点的。例如本例中劳动的集散地址为http://localhost/IISService/HelloWCFService.svc

(二) 在应用程序路径下创造XXX.svc文件用于表明WCF入口和服务地点导航

3)
终结点的地点内定为了空,表示就接纳劳务集散地址作为终结点地址,当然那里也得以钦定三个周旋地址,然而不能够内定相对地址,必须遵守IIS钦定的集散地址。

图片 3

抑或回到VS20十,依旧新建三个文书文件,另存为web.config。那个文件名,是不能改的,保存路径是我们建立的IIS应用程序IISService的目录下(和svc保存在共同)

大家须要遵守IIS宿主的渴求成立几个公文放到IIS中才能承载起大家的劳动,当然服务的连带信息也是描述在那几个文件中的。

 图片 4

咱俩来手动建立这几个文件,打开VS20拾,选择文件菜单->新建->文件。在例行栏目中,选拔3个文本文件,然后点击”打开”按钮

(四) 在应用程序路径下树立web.config 用于配置服务。

除了自托管,WCF还足以借宿于IIS、Windows服务、Windows进度激活服务(WAS)中。比较流行的是在IIS和Windows进度激活服务寄宿。

只是,如若作为最终产品安顿,自托管的下榻格局就不那么适合,应用程序相比较框架(IIS、Windows服务等)是不稳定的,WCF与应用程序共享生命周期,应用程序关闭后WCF也会结束。还有众多特色诸如进度回收、空闲关闭等自托管都是不援救的。由此,为了使我们的WCF符合产品级其余渴求,应该为其采用多少个更安定、伸缩性更好的宿主。

图片 5

  1. 完成

图片 6

接下去大家要写那一个概念服务的类公事了。但是在那此前,大家先为类公事建立2个存放的职分,IIS的代码文件应该存放在IIS应用程序目录的App_Code子目录下,所以大家先把这几个文件夹建立起来。

被<%%>框住的代表那几个是3个服务器端包蕴,@ServiceHost
标签表示那是个WCF的劳务,联想一下前两篇代码中的ServiceHost
对象。language=c#
表示大家用C#言语来写代码,Debug=true顾名思义了,最要紧的是Service那性格格,他意味着这么些服务的落到实处类是怎么着,那里要用完全限定名,即要蕴涵取名空间。笔者起了1个命名空间名LearnWCF,大家把劳务概念都坐落这么些命名空间下,前面包车型客车HelloWCFService便是劳动的贯彻类了。我们接下去要去完善这些类的始末。

 

封存,马到成功

(3)web.config文件

(三)
在应用程序路径的子目录App_Code下建立XXX.cs文件用于定义和兑现劳务协定

(1) svc文件。

 

 

    <configuration>  
      <system.serviceModel>  
        <services>  
          <service name="LearnWCF.HelloWCFService" behaviorConfiguration="metadataExchange">  
            <endpoint address="" binding="wsHttpBinding" contract="LearnWCF.IHelloWCF"/>  
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>  
          </service>  
        </services>  
        <behaviors>  
          <serviceBehaviors>  
            <behavior name="metadataExchange">  
              <serviceMetadata httpGetEnabled="true"/>  
            </behavior>  
          </serviceBehaviors>  
        </behaviors>  
      </system.serviceModel>  
    </configuration>  

老艺术,在浏览器里面看一下,是不是马到功成了。

到那边,在IIS中的寄宿就到位了,很简短,二个IIS应用程序,二个文本。当然那只是最简单易行的处境。

    using System;  
    using System.ServiceModel;  

    namespace LearnWCF  
    {  
        [ServiceContract]  
        public interface IHelloWCF  
        {  
            [OperationContract]  
            string HelloWCF();  
        }  

        public class HelloWCFService : IHelloWCF  
        {  
            public string HelloWCF()  
            {  
                return "Hello WCF!";  
            }  
        }  
    }  

一) 配置文件的文本名称叫web.config,而不是app.config

从IIS七初始,提供了所谓Windows进度激活服务(WAS)
的效果,借使把WCF寄存在WAS中,就足以扶助具有的绑定协议(TCP等),像MSMQ那样的协议,在内网和.Net编制程序模型下有十分的大的特性优势,由此WAS应该会成为将来WCF寄宿的机要措施,可是IIS7须要Windows
Vista以上版本的系统才能帮忙,他的推广或许尚需时日吧。

图片 7

回到VS20十,依旧文件->新建->文件,选择文本文件。

 

老老实实的就学,大家前几天不借助于IDE扶助建立的连串,完全手写八个住宿于IIS的服务。

 

http://www.cnblogs.com/xiangchangdong/p/3924030.html

编写制定那些文件,大家在此间定义和促成劳务协定,应该很纯熟吧,尝试着背着写下去吗。

  1. 为IIS应用建立物理地方

(1) 建立IIS应用程序及物理路径

把写的剧情保留一下,我们延续进步。

在IIS中过夜,供给IIS5.一或更高版本的支撑,IIS会为大家管理ServiceHost(还记得她吧,看率先篇中的代码),同时为大家提供经过回收、空闲关闭、进程运行情况监视等特色支持,大家只要求把服务相关的文书依照一定的集体措施放入IIS的托管中(就像是建立贰个网址应用程序或虚拟目录),IIS会为我们管理整个。那种托管受到支撑的体系广大,从Windows
XP SP二 到 WIndows Server
200玖,所以它极流行。可是她也有缺点,它不得不承受http协议的绑定,对于tcp、管道、MSMQ都以不支持的。

其一代码应该很了解的打出去,假设对那段代码还有哪些不知道的地方,急忙翻回第二篇复习一下。

Windows 柒 家庭高级版 SP1

至于运行服务,IIS都会为大家去做,只要IIS应用程序(或网址)在线,服务就在线运维。

IIS应用程序需求映射到地面驱动器的多个大体路径上,我们先把它建好。

 

先天让我们有个别尖锐1些,掌握一些有关住宿的新知识:在IIS中过夜服务。

为应用程序钦赐八个别称,那些能够随便起的,这些名字将改成现在服务地点的一片段,作者把它起作IISService,物理路径就采用大家刚刚建立的文书夹。

 

图片 8

本身把那个文件夹建立在了C:\WCF\下,取名称为IISService。(HelloWCF是大家在前两篇中国建工业总会集团立的,还记得么)

通过前两篇的上学,大家领悟了怎么样搭建二个最简便易行的WCF通讯模型,包罗定义和落到实处服务协定、配置服务、寄宿服务、通过丰裕服务引用的不2秘籍配置客户端并访问服务。大家对WCF的编制程序生命周期有了叁个最中央的问询。

保留一下,大家一而再前行

 

可以看来。.svc文件就一定于贰个先河,帮我们在IIS宿主中找到服务的岗位,具体的代码,大家能够写在另3个地方(其实也能够写在svc文件中,不推荐)。

别的地方并从未什么样界别,特别注意在钦点服务达成类和协定接口类的时候势必要带上命名空间,那是1个非凡简单犯的错误。

  1. 建立IIS应用程序

这一篇我们上学了哪些在IIS中寄宿WCF服务,必备的要素总括如下几点:

(伍) 保持IIS为运行状态。

svc便是service的意思了,我们须要首先建立3个XXX.svc的文件放到IIS应用程序目录下,那么些文件是服务的入口,客户端要求这么些文件的地点来访问服务(当然也席卷原数据调换)。

能够见见大家正好创建的HelloWCFService.svc已经被辨认为WCF服务了。

http://机器名/IIS应用程序名/XXX.svc  

本次大家要确立的是类公事,其名称叫HelloWCFService.cs,注意另存为的时候要把保存类型选为全数文件,路径要选拔大家刚成立的App_Code文件夹

 物理路径建好了,今后我们在那个岗位上树立多个应用程序。点击起首->控制面板,在档次中找到管理工具,然后打开IIS。

其三篇 在IIS中过夜服务

这一个布局文件和我们事先写的有一部分分化之处:

 

(2) cs文件

在前两篇的例子中,大家树立了一个控制台应用程序来作为劳务的宿主,那种寄宿情势叫做”自托管”,即WCF服务和应用程序是密不可分的。那种寄宿格局有局地亮点,他索要最少的框架扶助(只供给一个控制台应用程序就能够了,随地建立,四处运营),由此配置和应用都以最简便易行的,其它通过控制台程序还足以对WCF服务运作中生出的荒谬实行监视,在付出服务等级,那种艺术能提供调节和测试的便利。

图片 9

图片 10

点击鲜明,IIS应用程序就建好了,我们能够看来在暗中同意网址下多了那一个应用程序,然则里面还什么都没有。

小编们明天先读书在IIS中过夜,记住,IIS寄宿只援救http协议的绑定。

以往大家来编排这一个文件的剧情,很简短,就唯有壹行代码。