[WCF] Metadata Exchange

WCF 服务可以通过两种途径发布他们的元数据,这些元数据可以通过 HTTP-GET 传送或者直接通过 Endpoint 发布。如果通过 HTTP-GET 来发布元数据,你所要做的只是在配置文件中为 service 节点添加 behaviorConfiguration 属性并激活 HTTP-GET 而已。(完整的配置文件样例可以参考 http://www.cnblogs.com/anders-x-hu/archive/2007/05/30/765449.html

 

编程控制元数据

using  System;
using  System.ServiceModel;
using  System.ServiceModel.Channels;
using  System.ServiceModel.Description;

namespace  Anrs.Service
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {
            ServiceHost             sh            
=   new  ServiceHost( typeof (AnrsService));
            ServiceMetadataBehavior metadata      
=  sh.Description.Behaviors.Find < ServiceMetadataBehavior > ();
            Binding                 wsHttpBinding 
=   new  WSHttpBinding();

            
if  (metadata  ==   null )
            {
                metadata                
=   new  ServiceMetadataBehavior();
                metadata.HttpGetEnabled 
=   true ;

                sh.Description.Behaviors.Add(metadata);
            }

            sh.AddServiceEndpoint(
typeof (IAnrsServiceContract1), wsHttpBinding,  new  Uri( " http://localhost:8086/AnrsService/ " ));
            sh.Open();            

            Console.Write(
" Press any key to exit " );
            Console.ReadLine();

            sh.Close();
        }
    }
}

 

再次证明 WCF 并不是 Programming 的创新,更多的是概念方面的创新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值