- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
务发布成WSDL[基于WSMEX
WCF技术剖析的 2十 7: 如何将一个服务发
布成WSDL[基于WS-MEX的实现](提供模拟
程序)
疯狂代码 http://CrazyC/ ĵ http:/CrazyC/BlogDigest/Article78522.html
通过如何将个服务发布成WSDL[编程篇]介绍我们知道了如何可以通过编程或者配置方式将
ServiceMetadataBehavior这样个服务形式应用到相应服务上面从而实现基于HTTP-GET或者WS-MEX元数据
发布机制那么在WCF内部具体实现原理又是怎样呢?相信很多人对此都心存好奇本篇文章内容将围绕着这个主
题展开
、 从WCF分发体系谈起 如果读者想对WCF内部元数据发布机制实现原理有个全面而深入了解必须对WCF服务
端分发体系有个清晰认识在这里我们先对该分发体系作个概括性介绍WCF整个分发体系在进行服务寄宿
(Hosting)时被构建该体系基本结构基本上可以通过图1体现
;图1 WCF服务端分发体系
当我们创建ServiceHost对象成功寄宿某个服务后WCF会根据监听地址区别为该ServiceHost对象创建到多个
ChannelDispatcher对象每个ChannelDispatcher都拥有各自ChannelListener这些ChannelListener绑定到相
应监听地址监听来自外界请求对于每个ChannelListener对象有个自己具有到多个EndpoDispatcher对象和的
匹配每个EndpoDispatcher对应着某个终结点
而针对每个EndpoDispatcher在其化时候会为的创建个运行时即DispatchRuntimeDispatchRuntime拥有系列
处理请求、激活对象和执行思路方法等操作运行时对象在这里我们主要关注个称为
InstanceContextProvider对象InstanceContextProvider用于提供封装有相应服务例子InstanceContext对象
2、基于WS-MEX模式下元数据发布是如何实现? 现在我们再把话题移到元数据发布上来先来谈谈基于WS-
MEX协议元数据发布方式在这种元数据发布模式下服务端通过MEX终结点发布元数据客户端创建相应MEX终结
点获取元数据这和般意义上服务并没有本质区别你完全可以将元数据获取当成是个某个服务而该服务就是提供
元数据
如果我们通过编程或者配置方式为某个服务添加了个MEX终结点后当服务被成功寄宿后WCF会为的创建个
ChannelDispatcher该ChannelDispatcher拥有个用于监听元数据请求ChannelListener监听地址及元数据发布
地址基于该MEX终结点EndpoDispatcher对象也会被创建并和该ChannelDispatcher关联在起在
EndpoDispatcher化时候关联DispatchRuntime也随的被创建和普通终结点关联DispatchRuntime样基于
MEX终结点DispatchRuntime同样拥有相同运行时对象集合但是由于并没有个真正用于提供元数据服务被寄宿
DispatchRuntimeInstanceContextProvider(默认是PerSessionInstanceContextProvider)是获取不到包含有
真正服务例子InstanceContext对象
那么如果能够定制DispatchRuntimeInstanceContextProvider使它能够正常提供个InstanceContext而该
InstanceContext包含真正能够提供元数据服务例子并且服务类类实现MEX终结点契约接口
IMetadataExchange那么切问题都迎刃而解实际上ServiceMetadataBehavior内部就是这么做而这个用于提供
元数据服务类型是定义在WCF内部个ernal类型:WSMexImpl
1 ernal WSMexImpl : IMetadataExchange
2 {
3 //其他成员
4 public IAsyncResult BeginGet(Message request, AsyncCallback callback, object state);
5 public Message EndGet(IAsyncResult result);
您可能关注的文档
最近下载
- 医院信息网络安全培训PPT课件.pptx
- 2025年前列腺科普试题及答案.docx
- 立式叶片排渣过滤机-中国化工设备网.doc
- 20250508 北京大学DeepSeek系列06:DeepSeek私有化部署和一体机.pptx VIP
- 【7上英YL】芜湖市2024-2025学年七年级上学期期中考试英语试卷.pdf VIP
- 屋面瓦及檩条拆除安全方案.doc
- Schneider Electric施耐德Easy Altivar ATV610 变频器编程手册(中文).pdf VIP
- NB∕T34024-2024生物质成型燃料质量要求及分级.docx VIP
- STM32F1开发标准教程-教学大纲、授课计划.docx
- 新语境幼儿园教师专业能力等级与评定.pdf VIP
文档评论(0)