WCF服务元数据交换编程怎么实现
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"WCF服务元数据交换编程怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WCF服务元数据交换编程怎么实现"吧!前者配置简单、
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
贵州ai服务器
甲骨文数据库怎么连接
数据库批量删除语句怎么写
宁波信息网络安全报警网站
支网网络技术有限公司
分布式远程数据库在哪里
软件开发代码对应的中文
杭州软件开发外包公司排行
数据库一张表可以添加多少个主键
空间数据库怎么合并
河南网络技术分类五星服务
刘烨网络安全周
方舟生存进化964服务器
酒店订房系统数据库课程设计
数据库查询引用时间
无锡华硕服务器维修费用
移动端软件开发是吃青春饭的吗
企业网络安全学院
单机应用数据库安装过程
筑客网络技术有限公司
软件测试与软件开发吧
免费 云数据库 mysql
电子商务网络安全应用
网络安全蠕虫病毒的防范
服务器不支持版本的操作系统
房友数据库转移
云服务器有什么用吗
通过局域网管理网络安全性
网络安全人员体系化建设
西固区网络安全培训基地