技术开发 频道

如何在宿主程序中运行并保护WCF服务

  配置服务

  配置WCF服务的过程非常直接。配置选项对服务在运行的时候的行为进行控制。虽然服务的配置选项有许多,但在这个任务中我们只对服务的一些非常基本的行为进行配置。

  1. 在Solution Explorer中选中Host项目,然后在主菜单中选择Project | Add New Item菜单项。

  2. 在Project | Add New Item对话框中选择Application Configuration File模板,如图3所示。


图3 Add New Item对话框

  3. 不要修改文件名,新的配置文件的文件名仍然是app.config。

  4. 单击Add按钮。

  5. 用下面的XML代码替换掉新添加的app.config文件中的所有内容。下面对配置设定做了一个简单的介绍。  


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<system.serviceModel>
    
<services>
      
<service name="DerivativesCalculatorService.Calculator"
               behaviorConfiguration
="metadataBehavior">
        
<endpoint
          
address="CalculatorService"
          binding
="basicHttpBinding"
          contract
="DerivativesCalculatorService.IDerivativesCalculator"/>
        
<endpoint
          
address="mex"
          binding
="mexHttpBinding"
          contract
="IMetadataExchange" />
        
<host>
          
<baseAddresses>
            
<add baseAddress="http://localhost:8000/Derivatives/" />
            
<add baseAddress="net.tcp://localhost:8010/Derivatives/" />
          
</baseAddresses>
        
</host>
      
</service>
    
</services>
    
<behaviors>
      
<serviceBehaviors>
        
<behavior name="metadataBehavior">
          
<serviceMetadata httpGetEnabled="true" />
        
</behavior>
      
</serviceBehaviors>
    
</behaviors>
  
</system.serviceModel>
</configuration>

  WCF配置文件的结构

  • 这一节包含了所有的WCF配置元素。

  • 服务在这一节定义。每个服务有自己的服务配置区段。

  • 这一节包含了一个WCF服务的设定。它还包含了该服务暴露的终结点。

  • 这一节用来指定服务终结点的绑定、契约和地址属性。服务通过终结点暴露给外界。

  • 这一节用来指定服务宿主程序的设定。

  • 这一节用来定义两个名为endpointBehaviors和serviceBehaviors的子集合。每个集合分别定义由终结点和服务使用的行为元素。每个行为元素通过一个少有的名字attribute来标识。

  • 这一节包含了为一个指定的服务所定义的所有行为。

  6. 选择File | Save All菜单项。

  7. 确保解决方案能够正常编译(选择Build | Build Solution菜单项)。

0
相关文章