一、WCF服务应用程序与WCF服务库,此项目模板基于IIS托管的顺序

二、IIS宿主

图片 1

图片 2

  WCF服务库,可以认为是一个含有WCF服务以及契约定义的类库。不可以一贯运行,你可以在任何类型里引用,在宿主里启用托管这一个库,有点类似于我们在Web项目中使用的类库。考虑WCF服务规划的时候,服务类的概念为独立的库,可以为此外门类采取。进步代码的复用性。

图片 3

  10 WCF
教程

  (3)添加 WCF 服务类库(WCFLibrary)的类型引用。

**四、Windows应用程序宿主 **

  大家在平日支付的进程中常用的花色序列有“WCF
服务应用程序”和“WCF服务库”。

  转载请表明出处:http://www.cnblogs.com/iamlilinfeng

  同下面的Console程序一样,这里要引用的地址为:<add
baseAddress=”http://localhost:8081/User"/&gt;

图片 4

、控制台应用程序宿主

图片 5

(5)运行宿主程序[在客户端调用时要先运行宿主程序],如下图所示:

  WCF的宿主能够是 Windows
服务、COM+应用程序、WAS(Windows Activation
瑟维斯(Service)s,Windows进程激活服务)或IIS、Windows应用程序,或简捷的控制台应用程序及任何.net程序。

  大家在首先节中,把WCF寄宿在IIS之上,在IIS中宿主一个服务的重大优点是在发出客户端请求时宿主进程会被自动启动,并且你能够依赖IIS来管理宿主进程的生命周期。在开发和动用的长河与Web
瑟维斯万分相像。

  (2)建立IUser与User,代码同例二同一。

  在上图中,大家挑选序列net.tcp,然后在绑定新闻中填入“808:*”,点击确定。

  同上面的Console程序一样,这里要引用的地方为:<add
baseAddress=”http://localhost:8081/User"/&gt;

 

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <system.serviceModel>
 4     <services>
 5       <service name="WCFLibrary.User">
 6         <host>
 7           <baseAddresses>
 8             <add baseAddress="http://localhost:8081/User"/>
 9           </baseAddresses>
10         </host>
11         <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser"></endpoint>
12       </service>
13     </services>
14     <behaviors>
15       <serviceBehaviors>
16         <behavior>
17           <serviceMetadata httpGetEnabled="True"/>
18           <serviceDebug includeExceptionDetailInFaults="False"/>
19         </behavior>
20       </serviceBehaviors>
21     </behaviors>
22   </system.serviceModel>
23 </configuration>
24 
25 
26 using System;
27 using WCFLibrary;
28 using System.ServiceModel;
29 using System.Windows.Forms;
30 using System.Configuration;
31 
32 namespace WCFHost_Form
33 {
34     public partial class MainForm : Form
35     {
36         ServiceHost host;
37 
38         public MainForm()
39         {
40             InitializeComponent();
41         }
42 
43         //应用程序加载
44         private void MainForm_Load(object sender, EventArgs e)
45         {
46             host = new ServiceHost(typeof(User));
47             //打开宿主
48             host.Open();
49             this.lblState.Text = "WCF中的HTTP监听已启动....";
50         }
51 
52         //应用程序关闭
53         private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
54         {
55             host.Close();
56         }
57     }
58 }

  像任何的Web应用程序一样,把有关的文本丢到劳动器端指定目录即可。

图片 6

点击“F5“运行效果如下图所示表达成功:

  在上图中,我们挑选连串net.tcp,然后在绑定信息中填入“808:*”,点击确定。

  3、开通net.tcp的协议 

  在安装成功还要在指定的网站上绑定了net.tcp未来,我们还要开通.net.tcp协议,点击我们要部署WCF的网站,在IIS管理器的操作效率区有一项“高级设置”点击前边世如下图所示高级配置的窗体

  通过下面的多少个例证,大家兑现了控制台宿主、Form宿主、WAS宿主(基于TCP协议)的落实。在实际的支出进程中,有时候我们还会用到基于Windows服务的宿主,但多数份都接纳IIS做宿主,方便、飞快。

  建立客户端

  通过后面的牵线我们知道,WCF在运行时必寄宿在“宿主程序”之上,WCF本身不可知独立运行(每个WCF服务必须宿主在一个Windows进程中)。.net
提供了多种宿主供WCF运行,WCF仍然非凡灵活的。

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3   <system.serviceModel>
 4     <bindings>
 5       <netTcpBinding>
 6         <binding name="netTcpBindConfig">
 7           <security mode="None">
 8             <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
 9             <message clientCredentialType="Windows" />
10           </security>
11         </binding>
12       </netTcpBinding>
13     </bindings>
14     <services>
15       <service behaviorConfiguration="MyBehavior" name="WCFHost_WAS.User">
16         <endpoint address="" binding="netTcpBinding" contract="WCFHost_WAS.IUser" bindingConfiguration="netTcpBindConfig"></endpoint>
17         <!--元数据交换的终结点-->
18         <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" ></endpoint>
19       </service>
20     </services>
21     <behaviors>
22       <serviceBehaviors>
23         <behavior name="MyBehavior" >
24           <serviceMetadata/>
25           <serviceDebug includeExceptionDetailInFaults="true" />
26           <dataContractSerializer maxItemsInObjectGraph="6553600"/>
27         </behavior>
28       </serviceBehaviors>
29     </behaviors>
30   </system.serviceModel>
31 
32 </configuration>

  鼠标右键查看项目性质。我们发现,其实“WCF类库项目”与我们一贯树立的“类库项目”都是类库,只可是多了WCF的类库项目在新建时多了七个dll的引用(System.瑟维斯(Service)(Service)Model.dll、System.Runtime.Serialization.dll)和一个自动生成的布置文件(该配置文件只用于调试时利用,在WCF寄宿未来会采取宿主的配备文件与此外应用程序通信)。那更表达了俺们在做分式程序支付的时候与我们一向支付的应用程序没有多大的区别,只要我们在应用程序间通信时“符合WCF的约定”即可。

  安装成功后大家开拓IIS,点击“默认网站(任一个网站即可)”–>“绑定”–>“添加”,在项目中会出现非IIS襄助的此外门类。如下图所示

图片 7

  这节的言传身教我们重新树立WCF类库项目为例做示范,名称为:WCFLibrary,并删除自动生成的三个文本(I瑟维斯(Service)1.cs、Service(Service)1.cs)。如下图所示:

  (3)添加 WCF 服务类库(WCFLibrary)的档次引用。

  大家这时候看客户端的安排文件:

  鼠标右键浏览User.svc,如现如下所示:

  (4)添加应用程序配置文件App.config。

图片 8

  (3)添加 WCF
服务类库(WCFLibrary)的体系引用。

  建立宿主

  建立宿主

  (6)建立客户端

图片 9

图片 10

  树立客户端

  在利用WAS宿主时,必须保证IIS7的激活零部件安装好。打开“控制面板”–>“打开或关闭Windows效能”–>“功用”,我的机械上已经设置过,如下图所示(WCF激活与非WCF激活):

   运行程序如下图所示:

初稿链接:http://www.cnblogs.com/iamlilinfeng/archive/2012/10/01/2706353.html

  (6)建立客户端

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

  (1)在缓解方案下新建Windows窗体应用程序项目
WCFHost_Form。

  建立客户端

  (5)部署服务

  假使没有设置,点击“添加新功能”,然后勾选“WCF激活”,如下图所示:

  服务端我们还和第一个科目一样(IUser接口与User实现),只建立一个方法做为大家调用的以身作则代码如下:

  (2)建立IUser与User,代码同例二同一。

图片 11

运作程序如下图所示:

  (2)添加 System.ServiceModel.dll
的引用。

   4、建立服务程序

图片 12

七、总结

  表明部署成功,如上所示的劳动地方为:net.tcp://服务器名/User.svc/mex

  确立客户端

  1、确保已安装IIS7的激活零部件

  (1)在缓解方案下新建WCF服务应用程序项目 WCFHost_WAS。

  建立宿主

图片 13

  2、添加net.tcp的网站绑定

  IIS7允许通过HTTP外的商事举行激活和网络通信。此条件适合开发可通过WCF匡助的此外网络协议(包括http、net.tcp、net.pipe、net.msmq)举办通信的WCF服务。部署简单、管理有利于,这几个网络协议在配置时可像Http一样,直接丢到IIS7上即可,大家在下边的例证中以net.tcp为探究为例。IIS7以下的版本只可以襄助Http的通信。

  (5)创造宿主程序MainForm窗体,并修改App.config,代码如下:

  在那么些示例中大家把Endpoint中的ABC,基地址,Behaviors等都平昔写在了代码里,但其实运用过程中都是去倚重配置文件,为了相比表明我们下边的例证中会使用安排文件。

  Windows 进程激活服务 (WAS)
概述
  

  表达安装成功。

图片 14

//添加引用
using System.ServiceModel;

namespace WCFLibrary
{
    [ServiceContract]
    interface IUser
    {
        [OperationContract]
        string ShowName(string name);
    }
}

namespace WCFLibrary
{
    class User : IUser
    {
        public string ShowName(string name)
        {
            string wcfName = string.Format("WCF服务,显示姓名:{0}", name);
            return wcfName;
        }
    }
}

  表明安装成功。

  这节的以身作则我们重新树立WCF类库项目为例做示范,名称为:WCFLibrary,并剔除自动生成的六个文本(I瑟维斯(Service)(Service)1.cs、瑟维斯(Service)(Service)1.cs)。如下图所示:

二、IIS宿主

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="WCFLibrary.User">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8081/User"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser"></endpoint>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>


using System;
using WCFLibrary;
using System.ServiceModel;
using System.Windows.Forms;
using System.Configuration;

namespace WCFHost_Form
{
    public partial class MainForm : Form
    {
        ServiceHost host;

        public MainForm()
        {
            InitializeComponent();
        }

        //应用程序加载
        private void MainForm_Load(object sender, EventArgs e)
        {
            host = new ServiceHost(typeof(User));
            //打开宿主
            host.Open();
            this.lblState.Text = "WCF中的HTTP监听已启动....";
        }

        //应用程序关闭
        private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            host.Close();
        }
    }
}

图片 15

  树立客户端也与任何的同等,如下图所示:

  3、开通net.tcp的协议 

<endpoint address=”” binding=”wsHttpBinding”
contract=”WCFLibrary.IUser”>

  在这多少个示例中我们把Endpoint中的ABC,基地址,Behaviors等都直接写在了代码里,但实质上应用过程中都是去倚重配置文件,为了比较表达我们下边的事例中会使用安排文件。

  在启用的合计中添加net.tcp协议(原来只对http协议帮忙,现在把tcp协议追加上去),中间用逗号隔离开,如上图所示。

  (3)修改配置文件代码如下:

<service name=”WCFLibrary.User”>

  IIS7允许通过HTTP外的协商举办激活和网络通信。此环境适合开发可由此WCF协理的另外网络协议(包括http、net.tcp、net.pipe、net.msmq)举办通信的WCF服务。部署简单、管理有利于,这个网络协议在配备时可像Http一样,直接丢到IIS7上即可,大家在下面的事例中以net.tcp为协商为例。IIS7以下的本子只好匡助Http的通信。

  在这么些事例中与Console应用程序不同的是,大家在Console配置是从来写在程序中的,而在本例中我们利用的是布局文件,区别在于一旦写在配备文件中程序运行时直接到布置文件里取出相关的安排节去创造瑟维斯(Service)Host类。

<endpoint address=””
binding=”wsHttpBinding” contract=”WCFLibrary.IUser”>

  (2)添加对劳动的引用(在引用上右键–>输入大家定义的劳务宿主的基地址(此处为:http://localhost:8080/User)–&gt;前往–&gt;确定),具体请看第一节。

图片 16

  建立宿主

点击“F5“运行效果如下图所示表明成功:

  表明部署成功,如上所示的劳动地点为:net.tcp://服务器名/User.svc/mex

  表明宿主建立成功。在上例中用到”ServiceHost”类,那里只是简短的应用,具体请查看“MSDN
ServiceHost”

  (3)修改配置文件代码如下:

二、概述

二、概述

  我们在一个Web应用程序中调用了二种不同宿主的劳务。 

  安装成功后大家开辟IIS,点击“默认网站(任一个网站即可)”–>“绑定”–>“添加”,在项目中会出现非IIS匡助的任何项目。如下图所示

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

  服务端我们还和第一个科目一样(IUser接口与User实现),只建立一个方法做为我们调用的以身作则代码如下:

图片 17

  (3)测试程序如下图所示表明成功(注意:一定要先运行大家的宿主程序才行,即便宿主没有打开的话会报错:鉴于目的电脑积极拒绝,无法连接。)。

图片 18

  (2)添加 System.ServiceModel.dll 的引用。

  (1)在解决方案下新建WCF服务应用程序项目
WCFHost_WAS。

图片 19

  确立客户端也与另外的一律,如下图所示:

  WCF服务库,可以认为是一个蕴含WCF服务以及契约定义的类库。不可能直接运行,你能够在任何品种里引用,在宿主里启用托管这些库,有点类似于我们在Web项目中行使的类库。考虑WCF服务统筹的时候,服务类的概念为单独的库,可以为其他项目应用。提升代码的复用性。

图片 20

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="netTcpBindConfig">
          <security mode="None">
            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="MyBehavior" name="WCFHost_WAS.User">
        <endpoint address="" binding="netTcpBinding" contract="WCFHost_WAS.IUser" bindingConfiguration="netTcpBindConfig"></endpoint>
        <!--元数据交换的终结点-->
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" ></endpoint>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyBehavior" >
          <serviceMetadata/>
          <serviceDebug includeExceptionDetailInFaults="true" />
          <dataContractSerializer maxItemsInObjectGraph="6553600"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

</configuration>

图片 21

  (4)添加应用程序配置文件App.config。

鉴于原先的契约为IService,现在的为IUser,所以安排文件有两处要修改为:

出于原先的契约为IService(Service),现在的为IUser,所以安排文件有两处要修改为:

图片 22

图片 23

八、代码下载

五、WAS宿主

  通过前面的牵线我们掌握,WCF在运行时必寄宿在“宿主程序”之上,WCF本身不能单独运行(每个WCF服务必须宿主在一个Windows进程中)。.net
提供了多种宿主供WCF运行,WCF仍旧非凡灵活的。

  (1)在缓解方案下新建控制台出口项目 WCFHost_Console。

  注意:那多少个步骤一个也不可以少,否则会油可是生:“找不到所有绑定
NetTcpBinding 的终结点的与方案 net.tcp 匹配的基址。注册的基址方案是
[http]
”的错误音信。

  2、添加net.tcp的网站绑定

  (2)添加对劳动的引用(在引用上右键–>输入我们定义的劳务宿主的基地址(此处为:http://localhost:8080/User)–&gt;前往–&gt;确定),具体请看第一节。

  (5)创立宿主程序MainForm窗体,并修改App.config,代码如下:

、控制台应用程序宿主

  表明宿主建立成功。在上例中用到”ServiceHost”类,这里只是简短的采纳,具体请查看“MSDN
ServiceHost”

七、总结

(5)部署服务

  (5)运行宿主程序[在客户端调用时要先运行宿主程序],如下图所示:

图片 24

  假使没有安装,点击“添加新效能”,然后勾选“WCF激活”,如下图所示:

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

  鼠标右键查看项目性质。我们发现,其实“WCF类库项目”与大家通常建立的“类库项目”都是类库,只然而多了WCF的类库项目在新建时多了多少个dll的引用(System.瑟维斯(Service)(Service)Model.dll、System.Runtime.Serialization.dll)和一个自动生成的安排文件(该配置文件只用于调试时选用,在WCF寄宿以后会使用宿主的布局文件与其余应用程序通信)。这更表明了我们在做分式程序开发的时候与我们平日开发的应用程序没有多大的区别,只要大家在应用程序间通信时“符合WCF的约定”即可。

  在装置成功还要在指定的网站上绑定了net.tcp将来,我们还要开通.net.tcp协议,点击我们要布局WCF的网站,在IIS管理器的操作效能区有一项“高级设置”点击后出现如下图所示高级配置的窗体

五、WAS宿主

图片 25

  (2)添加 System.ServiceModel.dll
的引用。

  (2)添加 System.ServiceModel.dll 的引用。

图片 26

  WCF服务应用程序,是一个可以进行的顺序,它有独立的过程,WCF服务类契约的定义,可以直接看看运行的功力。此项目模板基于IIS托管的次序,如本类其它率先节所示。在付出基于IIS托管的WCF服务程序时,相比较多见,自学的时候也可以拔取这类别型,简单易懂。

图片 27

  Windows 进程激活服务 (WAS)
概述
.aspx)  

  我们在平常支出的经过中常用的品种项目有“WCF
服务应用程序”和“WCF服务库”。

using System;
using WCFLibrary;
using System.ServiceModel;
using System.ServiceModel.Description;

namespace WCFHost_Console
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建宿主的基地址
            Uri baseAddress = new Uri("http://localhost:8080/User");
            //创建宿主
            using (ServiceHost host = new ServiceHost(typeof(User), baseAddress))
            {
                //向宿主中添加终结点
                host.AddServiceEndpoint(typeof(IUser), new WSHttpBinding(), "");
                //将HttpGetEnabled属性设置为true
                ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                smb.HttpGetEnabled = true;
                //将行为添加到Behaviors中
                host.Description.Behaviors.Add(smb);
                //打开宿主
                host.Open();
                Console.WriteLine("WCF中的HTTP监听已启动....");
                Console.ReadLine();
                host.Close();
            }
        }
    }
}

  鼠标右键浏览User.svc,如现如下所示:

  (4)创立宿主程序,代码如下:

  (1)重新创设解决方案–>Web应用程序项目。

<client>
      <endpoint address="http://localhost:8080/User" binding="wsHttpBinding"
        contract="WCFHost_Console.IUser" />
      <endpoint address="http://localhost:8081/User" binding="wsHttpBinding"
        bindingConfiguration="WSHttpBinding_IUser" contract="WCFHost_Form.IUser"
        name="WSHttpBinding_IUser">
        <identity>
          <userPrincipalName value="WIN-EOUTAA4CP4O\Administrator" />
        </identity>
      </endpoint>
      <endpoint address="net.tcp://win-eoutaa4cp4o/User.svc" binding="netTcpBinding"
        bindingConfiguration="NetTcpBinding_IUser" contract="WCFHost_WAS.IUser"
        name="NetTcpBinding_IUser" />
    </client>

  WCF服务应用程序,是一个足以执行的主次,它有独立的进程,WCF服务类契约的定义,能够向来看出运行的功能。此项目模板基于IIS托管的程序,如本类其余首先节所示。在支付基于IIS托管的WCF服务程序时,相比较多见,自学的时候也足以行使这序列型,简单易懂。

  (1)在缓解方案下新建Windows窗体应用程序项目 WCFHost_Form。

  (3)测试程序如下图所示表明成功(注意:一定要先运行我们的宿主程序才行,假若宿主没有打开的话会报错:是因为目的总结机积极拒绝,不可以连接。)。

图片 28

  在启用的商议中增长net.tcp协议(原来只对http协议协助,现在把tcp协议追加上去),中间用逗号隔离开,如上图所示。

  (1)重新建立解决方案–>Web应用程序项目。

    <client>
      <endpoint address="http://localhost:8080/User" binding="wsHttpBinding"
        contract="WCFHost_Console.IUser" />
      <endpoint address="http://localhost:8081/User" binding="wsHttpBinding"
        bindingConfiguration="WSHttpBinding_IUser" contract="WCFHost_Form.IUser"
        name="WSHttpBinding_IUser">
        <identity>
          <userPrincipalName value="WIN-EOUTAA4CP4O\Administrator" />
        </identity>
      </endpoint>
      <endpoint address="net.tcp://win-eoutaa4cp4o/User.svc" binding="netTcpBinding"
        bindingConfiguration="NetTcpBinding_IUser" contract="WCFHost_WAS.IUser"
        name="NetTcpBinding_IUser" />
    </client>

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

  具体请参见本连串的第一节课程

  1、确保已安装IIS7的激活零部件

图片 29

俺们在一个Web应用程序中调用了二种不同宿主的劳动。 

图片 30

**四、Windows应用程序宿主 **

  通过下面的多少个例子,我们实现了控制台宿主、Form宿主、WAS宿主(基于TCP协议)的贯彻。在骨子里的开支过程中,有时候大家还会用到基于Windows服务的宿主,但多数份都使用IIS做宿主,方便、快速。

图片 31

   4、建立服务程序

图片 32

  在那一个事例中与Console应用程序不同的是,大家在Console配置是直接写在程序中的,而在本例中大家接纳的是布局文件,区别在于一旦写在配备文件中程序运行时一贯到布置文件里取出相关的安排节去成立ServiceHost类。

  我们这时候看客户端的布置文件:

  (4)创立宿主程序,代码如下:

  注意:这一个步骤一个也不可能少,否则会并发:“找不到持有绑定
NetTcpBinding 的终结点的与方案 net.tcp 匹配的基址。注册的基址方案是
[http]
”的错误新闻。

 1 using System;
 2 using WCFLibrary;
 3 using System.ServiceModel;
 4 using System.ServiceModel.Description;
 5 
 6 namespace WCFHost_Console
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             //创建宿主的基地址
13             Uri baseAddress = new Uri("http://localhost:8080/User");
14             //创建宿主
15             using (ServiceHost host = new ServiceHost(typeof(User), baseAddress))
16             {
17                 //向宿主中添加终结点
18                 host.AddServiceEndpoint(typeof(IUser), new WSHttpBinding(), "");
19                 //将HttpGetEnabled属性设置为true
20                 ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
21                 smb.HttpGetEnabled = true;
22                 //将行为添加到Behaviors中
23                 host.Description.Behaviors.Add(smb);
24                 //打开宿主
25                 host.Open();
26                 Console.WriteLine("WCF中的HTTP监听已启动....");
27                 Console.ReadLine();
28                 host.Close();
29             }
30         }
31     }
32 }

图片 33

  (3)添加 WCF
服务类库(WCFLibrary)的品种引用。

图片 34

<service
name=”WCFLibrary.User”>

 1 //添加引用
 2 using System.ServiceModel;
 3 
 4 namespace WCFLibrary
 5 {
 6     [ServiceContract]
 7     interface IUser
 8     {
 9         [OperationContract]
10         string ShowName(string name);
11     }
12 }
13 
14 namespace WCFLibrary
15 {
16     class User : IUser
17     {
18         public string ShowName(string name)
19         {
20             string wcfName = string.Format("WCF服务,显示姓名:{0}", name);
21             return wcfName;
22         }
23     }
24 }

图片 35

九、版权

  我们在率先节中,把WCF寄宿在IIS之上,在IIS中宿主一个劳务的要紧优点是在暴发客户端请求时宿主进程会被机关启动,并且你可以凭借IIS来治本宿主进程的生命周期。在支付和运用的进程与Web
Service(Service)异常相像。

  (1)在解决方案下新建控制台出口项目
WCFHost_Console。

  像其他的Web应用程序一样,把有关的公文丢到劳动器端指定目录即可。

图片 36

  在使用WAS宿主时,必须保证IIS7的激活零部件安装好。打开“控制面板”–>“打开或关闭Windows功效”–>“效率”,我的机械上曾经设置过,如下图所示(WCF激活与非WCF激活):

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

相关文章