- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《WCF教程5》.doc
[原创]我的WCF之旅(5):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的重载(Overloading)
对于.NET重载(Overloading)——定义不同参数列表的同名方法(顺便提一下,我们但可以在参数列表上重载方法,我们甚至可以在返回类型层面来重载我们需要的方法——页就是说,我们可以定义两个具有相同参数列表但不同返回值类型的两个同名的方法。不过这种广义的Overloading不被我们主流的.NET 语言所支持的——C#, VB.NET, 但是对于IL来说,这这种基于返回值类型的Overloading是支持的)。相信大家听得耳朵都要起老茧了。我想大家也清楚在编写传统的XML Web Service的时候,Overloading是不被支持的。
原因很简单,当我们用某种支持.NET的高级语言写成的程序被相应的编译器编译成Assembly的过程中,不单单是我们的Source Code会被变成IL Code,在Assembly中还会生成相应的原数据Metadata——这些Metadata 可以被看看是一张张的Table。这些Table存储了定义了主要3个方面的信息——构成这个Assembly文件的信息;在Assembly中定义的Type及其相关成员的信息;本引用的Assembly 及Type的信息。这些完备的Metadata成就了Assembly的自描述性(Self-Describing),也只是有了这些Metadata,使.NET可以很容易地根据方法参数的列表甚至是返回值得类型来判断调用的究竟了那个方法。
而对于XML Web Service,它的标准实际上是基于XML的,近一步说,一个XML Web Service是通过一个一段XML来描述的,而这个描述XML Web Service的XML,我们称之为WSDL(Web Service Description Language)。在WSDL中,Web Service的一个方法(Method)对应的是一个操作(Operation),Web Service 所有的Operation定义在WSDL中的portType Section。我们可以参照下面一段XML,它是从一个完整的WSDL中截取下来的。我们可以看到,portType包含了Web Service定义的所有Operation,每个Operation由一个operation XML Element表示。看过我前面Blog的读者应该知道,从消息交换(Message Exchange)的层面上讲,一个Operation实际上体现的是一种消息交换的模式(Message Exchange Pattern——MEP)。所以我们完全可以通过一定消息交换的输入消息(Input Message)和输出(Output Message )定义一个Operation。而WSDL也是这样做的。(这里顺便提一下,Output Message部仅仅对应一个方法的Return Value,还包括表明ref 和out的Parameter)。除了定义进行消息交互的Message的格式(一般通过XSD)之外,每个Operation还应该具有一个能够为一标识该Operation的ID,这个ID通过name XML Attribute来定义。通常的情况下,Operation的Name使用Web Service的方法名——这就是在传统XML Web Service不可以使用Overloading的原因。
wsdl:portType?name=ICalculator??wsdl:operation?name=AddWithTwoOperands????wsdl:input?wsaw:Action=/ICalculator/AddWithTwoOperands?message=tns:ICalculator_AddWithTwoOperands_InputMessage?/????wsdl:output?wsaw:Action=/ICalculator/AddWithTwoOperandsResponse?message=tns:ICalculator_AddWithTwoOperands_OutputMessage?/??/wsdl:operation??wsdl:operation?name=AddWithThreeOperands????wsdl:input?wsaw:Action=/ICalculator/AddWithThreeOperands?message=tns:ICalculator_AddWithThreeOperands_InputMessage?/????wsdl:output
您可能关注的文档
- 《TS16949标准和内审员培训》.ppt
- 《TSC_TTP-244ME_Plus条码打印机操作手册》.pdf
- 《TT100超声波测厚仪使用说明书》.pdf
- 《TThe man in the water课件》.ppt
- 《TWI_Welding_Training_1》.ppt
- 《TWI_Welding_Training_5》.ppt
- 《Two-Wire Peripheral Expansion for the AT89C2051 Microcontroller》.pdf
- 《UDM Systems Die sep wafer cleaning - bil》.ppt
- 《Unit 3 Weather》.doc
- 《UTM-1 0 1 H 型超声波测厚仪》.doc
- 2024至2030年电启动超越离合器项目投资价值分析报告.docx
- 2024至2030年脱DMF匀泡剂项目投资价值分析报告.docx
- 2024年中国红酒包市场调查研究报告.docx
- 2024至2030年半自动玻璃切割流水线项目投资价值分析报告.docx
- 2024年无动力自然通风器项目可行性研究报告.docx
- 2024至2030年中国U盘手表行业投资前景及策略咨询研究报告.docx
- 2024年中国鲜荔枝果冻市场调查研究报告.docx
- 2024至2030年中国镇静保湿凝露数据监测研究报告.docx
- 2024年中国恒流恒压控制器市场调查研究报告.docx
- 2024年倾斜型粗镗刀项目可行性研究报告.docx
最近下载
- AWS D1.1-2020钢结构焊接规范(中英文版).pdf
- 重大公共卫生项目健康危险因素健康问题调评估报告.doc
- 操作系统原理练习题2及答案.pdf VIP
- 湖北省医疗服务收费标准(综合医疗服务类).pdf
- 《中国共产党巡视工作条例》测试附答案.docx VIP
- 刺络拔罐技术钟代华PPT培训课件.pptx
- 全国学生资助管理信息系统-中职子系统操作手册-简易版_v1.30.pdf
- 3.6.2 中医特色康复医疗的服务标准及规范.docx VIP
- 碧桂园物管员工作岗位手机使用管理办法(V1.0).docx
- 2024-2025学年小学英语三年级上册(2024)接力版(三起)(2024)教学设计合集.docx
文档评论(0)