大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> .NET中的Web service的开发

.NET中的Web service的开发

时间: 2021-07-31 作者:daque

.net平台内建了对web service的扶助,囊括web service的建立和运用。 与其它开拓平台各别,运用.net平台,你不须要其余的东西大概sdk就不妨实行web service的开拓了。.net framework自己就所有扶助web service,囊括效劳器端的乞求处置器和对存户端发送和接收soap动静的扶助。本节将带你用.net创造和运用一个大略的web service。要在.net中创造web service,你只需创造一个.asmx文献。这个文献中有一个webservice标签,包括language和class两个属性,辨别用来指定编制程序谈话和web service中表露出的类。而后你就不妨像凡是一律编写你的类了。结果,在每个你想要表露出的本领前方加一个system.web.services.webmethodattribute属性就不妨了。最后代码一致于底下的步调清单。'a webservice in vb.net (calc_vb.asmx)<%@webservice language="vb"class="calc" %>imports system.web.servicespublic class calc<webmethod()> _public function add(byval a as double, _byval b as double) as doublereturn a + bend functionend class用欣赏器来欣赏这个.asmx文献,你不妨获得一张尝试这个web service的页面。比方,你把calc_vb.asmx 文献放到了web效劳器的myservice目次下,那么相映的url即是:http://localhost/myservice/calc_vb.asmx尝试页如次图所示。这一页是机动天生的。它表露了web service 的名字并列出了不妨挪用的本领。列表反面有一段笔墨,道理是你正在运用缺省的定名空间http://tempuri.org/,即使你想要颁布这个web service的话,最佳换一个你本人的定名空间,以制止名字上的辩论。该书反面的局部将会计划web service 定名空间的题目。在第六章中,我还会引见还好吗运用.net的属性来指定定名空间和其余少许货色。机动天生的web service尝试页在尝试页里点击add本领,你会获得一个html表单,用来尝试这个本领(见下图)。在这个表单里,add本领所接收的一切参数都有一个相映的文本框。填好一切的参数,点击"invoke"按钮,这个表单就会被提交到web效劳器。本质上,这即是经过http get的情势在挪用web service。获得的截止是一个如次的大略xml文书档案:<double xmlns="http://tempuri.org/">158</double>欣赏底下这个url,不妨径直挪用add本领:http://localhost/myservice/calc_vb.asmx/add?a=123&b=35如你所见,本领的名字是你所乞求的资源(提防,这边是辨别巨细写的),而因变量中的每个参数都映照为查问字符串中的一个参数。这种情势对赶快尝试一个web service 利害常简单的。然而,由于这种办法运用的是http get,以是它在数据典型和参数传播目标等上面都有少许控制。咱们将在第六章中精细计划那些控制。机动天生的add本领尝试页回到前方的web service尝试页,咱们还不妨看到页面包车型的士顶部有一个service description链接。点击往日你就不妨获得刻画这个web service的wsdl文书档案,如次图。在web service的url反面加上一个"wsdl"查问字符串,你也不妨径直欣赏到这一页:http://localhost/myservice/calc_vb.asmx?wsdlcalc web service的wsdl文书档案。提防,为了表露更多实质,一切的xml元素都已折叠起来。calc web service的wsdl文书档案。提防,为了表露更多实质,一切的xml元素都已折叠起来。要在.net中挪用一个web service ,你须要先运转wsdl.exe东西。这个东西会从web service中读出它的wsdl刻画文书档案,天生一个不妨挪用这个web service的代劳类。比方,在吩咐行中实行底下的吩咐,不妨天生calc web service的代劳类: wsdl.exe /language:vb http://localhost/myservice/calc_vb.asmx?wsdl步调清单1-2截取自天生的vb代劳类源码。这个代劳类接受自system.web.services.protocols.soaphttpclientprotocol类,而且表露出一个add本领,这个本领接受两个double型浮点数,归来一个double型浮点数。步调清单1 2 截取自wsdl.exe 天生的web service代劳类源代码imports system.web.services.protocols'简略其余代码public class calcinherits soaphttpclientprotocol'简略其余代码<system.diagnostics.debuggerstepthroughattribute(),_soapdocumentmethodattribute( _"http://tempuri.org/add", _use:=system.web.services.description.soapbindinguse.literal,_parameterstyle:= soapparameterstyle.wrapped)>_public function add(byval a as double, byvalb as double) as doubledim results() as object = me.invoke("add",_new object() {a, b})return ctype(results(0), double)end function'简略其余代码end class尔后的处事就特殊大略了。要挪用calculatorweb service,只需范例化一个calc的代劳东西,再挪用它的add本领:dim ws as new calc()dim result as double = ws.add(20.5, 10.9)messagebox.show("截止是:" &result.tostring)本质上,代劳类中的add本领只是是经过.net framework的soaphttpclientprotocol类来挪用web service,而后再把web service 的归来值归来给挪用者。固然,除去上头的那些演练除外,.net web service的创造和挪用再有很多的实质。然而,在深刻那些详细之前,咱们须要先领会webservice内里的几个要害本领:xsd、soap和wsdl。

.net中的web service的开发图1

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.