WCF服务元数据交换编程怎么实现
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"WCF服务元数据交换编程怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WCF服务元数据交换编程怎么实现"吧!前者配置简单、
千家信息网最后更新 2026年11月02日WCF服务元数据交换编程怎么实现
这篇文章主要讲解了"WCF服务元数据交换编程怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WCF服务元数据交换编程怎么实现"吧!
前者配置简单、快捷,后者相对复杂。但是编程方式允许代码运行时控制或者设置元数据交换的信息。因而更加灵活。下面我们就来看看如何通过代码实现刚才的服务原数据交换的配置。
WCF服务元数据交换HTTP-GET编程实现:
必须添加对命名空间的引用, using System.ServiceModel.Description;我们对服务元数据操作的类和接口信息定义在此命名空间里,具体的实现HTTP-GET的代码如下:
ServiceMetadataBehavior metadataBehavior; //定义服务行为变量, metadataBehavior = host.Description.Behaviors.Find(); //获取宿主的行为列表 if (metadataBehavior == null) //如果没有服务原数据交换的行为,实例化添加服务原数据交换行为 { metadataBehavior = new ServiceMetadataBehavior(); Uri httpAddress = new Uri("http://localhost:8001/"); metadataBehavior.HttpGetUrl =httpAddress; metadataBehavior.HttpGetEnabled = true;//设置HTTP方式 host.Description.Behaviors.Add(metadataBehavior); }
首先是获得服务行为的列表信息,如果没有设置,我们就进行实例化服务原数据交换行为,并设置http方式可用。 host.Description.Behaviors.Add(metadataBehavior);添加宿主服务的行为。
WCF服务元数据交换WS-*编程实现:
这里分别实现了HTTP、TCP、IPC三种方式的的元数据交换的代码。和http-get方式略有不同,我们需要实例化自己绑定元素和绑定,***作为参数传递给host宿主实例。具体实现代码如下:
//2编程方式实现ws*原数据交换 //生命三个绑定节点类 BindingElement tcpBindingElement = new TcpTransportBindingElement(); BindingElement httpBindingElement = new HttpsTransportBindingElement(); BindingElement pipeBindingElement = new NamedPipeTransportBindingElement(); //实例化通用绑定类的实例 Binding tcpBinding = new CustomBinding(tcpBindingElement); Binding httpBinding = new CustomBinding(httpBindingElement); Binding pipeBinding = new CustomBinding(pipeBindingElement); // Uri tcpBaseAddress = new Uri("net.tcp://localhost:9001/"); Uri httpBaseAddress = new Uri("http://localhost:9002/"); Uri pipeBaseAddress = new Uri("net.pipe://localhost/"); host.AddServiceEndpoint(typeof(WCFService.IWCFService), new NetTcpBinding(), tcpBaseAddress); host.AddServiceEndpoint(typeof(WCFService.IWCFService), new WSHttpBinding(), httpBaseAddress); host.AddServiceEndpoint(typeof(WCFService.IWCFService), new NetNamedPipeBinding(), pipeBaseAddress); //ServiceMetadataBehavior metadataBehavior;//定义服务行为变量, metadataBehavior = host.Description.Behaviors.Find(); //获取宿主的行为列表 if (metadataBehavior == null)//如果没有服务原数据交换的行为,实例化添加服务原数据交换行为 { metadataBehavior = new ServiceMetadataBehavior(); host.Description.Behaviors.Add(metadataBehavior); } //如果没有可用的mex节点,可以使用一下代码判断,添加mex节点 host.AddServiceEndpoint(typeof(IMetadataExchange), tcpBinding, "mex"); host.AddServiceEndpoint(typeof(IMetadataExchange), httpBinding, "mex"); host.AddServiceEndpoint(typeof(IMetadataExchange), pipeBinding, "mex"); 感谢各位的阅读,以上就是"WCF服务元数据交换编程怎么实现"的内容了,经过本文的学习后,相信大家对WCF服务元数据交换编程怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
服务
数据
行为
编程
实例
代码
方式
宿主
信息
节点
学习
内容
变量
空间
配置
不同
复杂
三个
元素
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技巨头监管
润盈互联网科技
成都狮子座互联网科技
互联网养老 桔豆科技
青海省互联网新科技
字节跳动和互联网科技
互联网科技与管理
速维有品互联网信息科技(苏州)有限公司
消费医药和互联网科技
企晟互联网信息科技有限公司
徐州市互联网科技有限公司
众安科技工业互联网合作
互联网第三次科技革命特征
互联网公司高科技产品
启辰互联网科技
张召忠谈中国互联网科技
上海互联网科技公司ppt
现代互联网科技公司
优雇互联网科技有限公司
银川新华互联网科技学校招聘
咖啡
科技创新与互联网经济
互联网巨头反垄断金融科技
卓越科技(互联网 )
互联网科技公司名称
互联网教育科技公司vipkid
千方科技属于互联网企业吗
湖南一路畅行互联网科技
互联网科技年终奖
同城互联网络科技