WCF服务编程(7)——配置元数据交换终结点

本文介绍了如何通过配置元数据交换终结点来启用WCF服务的元数据交换功能。包括配置结构、必需元素及其作用,以及如何正确配置才能避免启动服务时报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引言

我们也可以通过配置元数据交换终结点的方式来启用元数据交换。标准的元数据交换终结点的配置结构如下:

   <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

和普通的终结点类似,它也包含3个主要元素:契约(contract)、绑定(binding)和地址(address)。Address的配置和普通终结点的地址配置类似,可以配置为空、相对uri和带基地址的uri。Binding类型为固定的几个类型,常见的有mexHttpBinding、mexTcpBinding等等。Contract固定为IMetadataExchange。该契约接口已经由WCF自动为我们实现,但是我们在配置文件中必须为服务明确的指定该行为,否则启动服务时将会报错,如下所示:

        

          < behaviors >
             < serviceBehaviors >
                 < behavior  name = "mex" >
                     < serviceMetadata />
                     < serviceDebug  includeExceptionDetailInFaults = "false"  />
                 </ behavior >
             </ serviceBehaviors >
         </ behaviors >
         < services >
             < service  name = "WindowsFormsApplication11.Service1"  behaviorConfiguration = "mex" >
                 ...
                 < endpoint  address = "mex"  binding = "mexHttpBinding"  contract = "IMetadataExchange"  />
                 
                 < host >
                     < baseAddresses >
                         < add  baseAddress = "http://localhost:8732/Design_Time_Addresses/WindowsFormsApplication11/Service1/"  />
                         < add  baseAddress = "net.tcp://localhost:8001/Service1/"  />
                     </ baseAddresses >
                 </ host >
             </ service >

 

我们必须为服务指定定义了serviceMetadata标签的behavior,这样才是引入WCF自动实现的IMetadataExchange接口。否则,启动服务时将会报错。

二、添加默认的元数据终结点

 

点击查看全文

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值