WCF服务元数据交换编程怎么实现
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要讲解了"WCF服务元数据交换编程怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"WCF服务元数据交换编程怎么实现"吧!前者配置简单、
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
东莞市曾祥网络技术有限公司
浙江正规网络技术分类价目表
连云港手机软件开发项目
网络技术运营有限公司
个人软件开发项目开票
华为电脑服务器怎么删除
网络安全手抄报黑白画简单
魔兽挖矿软件开发
国家网络安全宣传周西安工会
数据库导出信息签名表
网络技术最高等级
安全法律法规数据库
云端服务器端口模式怎么改
城市地质数据库
快手电商服务器怎么调整
云展厅用什么软件开发
吉林数据库消防技术服务哪家便宜
国泰安数据库账号百度云
csgo在哪进5e服务器
网络安全ivi是什么意思
物理服务器与云服务器有什么区别
网页影像服务器在哪里
机房要配服务器吗
12v惠普服务器改13v电源
易讯天空网络技术科技有限
和平精英换服务器如何注销账号
网络技术最高等级
联想st550服务器如何启动
网络安全 从我做起心得
数据库完整性有哪几种