ASP.NET教程之利用WCF消耗REST服务仓酷云
是不是实质都是API?有的好像不只是API那么简单的,有的也是一种框架就像MFC一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^).NETFramework3.5引进了REST作风的WindowsCommunicationFoundation(简称WCF)服务。除开辟和托管RESTful服务,还供应了多种选项来消耗这些服务。WCF经由过程“web”绑定和同意公布RESTful服务的Web编程模子供应对REST撑持。RESTful服务前往一般的XML,JSON编码,大概聚合种子(syndicationfeed)。收集上有良多关于怎样编写这类服务的资本,但是对在.NETFramework中怎样消耗REST服务却言之甚少。
在SimonEvan的文章“利用Silverlight2.0消耗服务”中,他指出今朝不撑持相似SOAPWebService中那样的主动天生代办署理:
消耗别的服务(比方REST)有一点难度,而且切实其实使我们惊异的一件事是,今朝还不克不及主动发生由ASP.netAJAX(经由过程WebHttpBinding)利用的代办署理。你不能不手动构建一个URI字符串,在HTTPGET哀求(REST)时利用WebClient类;关于其他HTTP动词,利用HttpWebRequest类。假如这个服务利用了JSON编码,剖析呼应可用这两种办法中的恣意一种:利用WCF的DataContractJSONSerializer(在观点上与XmlSerializer相似),大概利用LinqToJSON……Json.NET(LinqToJSON)能够在Codeplex网站找到。作为.NETFramework3.5构成部分,LINQtoXML能够便利地剖析和消耗XML数据。
PedramRezaei注释了怎样为“来自Flickr的乐趣列表(ListInteresting)操纵”开辟一个消耗者。后来他接纳了SimonEvan所说的三步走的体例:
[*]制造HTTP哀求,并将一切的参数组为URI的一部分包括出去
[*]失掉XML格局的呼应
[*]要末剖析它,要末把它反序列化成一个对象
即使这是一个可行的体例,但Pedram品评说:
我们并没有利用WCF供应的一致编程模子,并且URL也是经由过程字符串联接弄出来的。呼应也是被手工反序列化成一个对象的。利用WCF和WebHttpBinding我们能够将尽年夜部分的事情主动化。他接纳了一种“WCF体例”,包括以下步骤:
[*]界说一个暗示服务供应者的ServiceContract。
UriTemplate包括了一切需要的参数,这些参数与其对应接口办法的参数列表完整分歧。这个办法的署名还界说了一个CLR前往范例,它从服务呼应中反序列化出XML内容。这个办法必需被用WebGet大概WebInvoke属性做注解;并且为了尽量婚配服务前往的XML,ServiceContract必需被设置为利用XmlSerializerFormat,而不是DataContractSerializer格局。
[*]设置客户端端点利用“webHttpBinding”。
[*]为前往值和参数界说XMLserializable范例。
[*]创立客户端代办署理,创立办法:要末经由过程间接实例化ChannelFactory,要末由ClientBase承继。
欲知细节,请浏览Pedram的文章。MihailoLalevic利用了不异的体例来为eBayAPI开辟了一个消耗者,同时供应了一个WPF示例使用(源码)作为他文章的附件。
检察英文原文:ConsumingRESTServiceswithWCF
来自:http://www.infoq.com/cn/news/2008/05/consuming-rest-services-wcf那做企业软件是不是最好用J2EE? asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 逐步缩小出错代码段的范围,最终确定错误代码的位置。
页:
[1]