仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 743|回复: 10
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之WCF Web API 轻松完成 REST仓酷云

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:20:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。先体验一下,假如没有WCFWebAPI,间接用WCF完成REST有多贫苦:
1.创立WCF服务(ServiceContract)。
2.创立.svc文件指向该WCF服务。
3.在web.config中增加<service>/<endpoint>设置,并将binding设置为webHttpBinding,示例设置以下:
  1. <services><servicename="CNBlogs.OpenAPI.Service.NewsRestService"><endpointbinding="webHttpBinding"contract="CNBlogs.OpenAPI.Service.INewsRestService"behaviorConfiguration="RESTFul"/></service></services>
复制代码
4.在web.config中增加<endpointBehaviors>/<behavior>设置,并在个中增加<webHttp/>,在第3步的设置中增加该behaviorConfiguration(好比下面代码中的behaviorConfiguration="RESTFul"),示例设置以下:
  1. <endpointBehaviors><behaviorname="RESTFul"><webHttp/></behavior></endpointBehaviors>
复制代码
5.在OperationContract办法上增添WebInvoke属性,示例代码以下:
  1. [OperationContract][WebInvoke(Method="GET",UriTemplate="News/Recent/{itemcount}",ResponseFormat=WebMessageFormat.Xml)]IQueryable<NewsItem>GetRecentNews(intitemcount);
复制代码
下面的5步已够贫苦了。入手下手觉得到此就能够出工了,哪知不运转不晓得,一运转吓一跳:
  1. OperationGetRecentNewsincontractINewsRestServicehasapathvariablenameditemcountwhichdoesnothavetypestring.VariablesforUriTemplatepathsegmentsmusthavetypestring.
复制代码
参数居然不克不及用int范例,必需要用string。只能看WCF心叹,不能不进进第6步。
6.将int改成string
  1. IQueryable<NewsItem>GetRecentNews(stringitemcount);
复制代码
这是纯WCF完成REST的扮演节目,节目称号叫“WCF完成REST六步走”,扮演得分6分。
接上去,我们看看WCFWebAPI的扮演
(假如不晓得WCFWebAPI是何方崇高,请看演员先容http://wcf.codeplex.com/wikipage?title=WCF%20HTTP)
1.在供应REST服务的办法上增添[WebGet(UriTemplate="")]属性,示例代码以下:
  1. [ServiceContract]publicclassNewsRestService{[WebGet(UriTemplate="{itemcount}")]publicIQueryable<NewsItem>GetRecentNews(intitemcount){returnnewsList.AsQueryable();}}
复制代码
2.在Global.asax的Application_Start中增加路由,示例代码以下:
  1. protectedvoidApplication_Start(objectsender,EventArgse){varconfig=newHttpConfiguration();RouteTable.Routes.Add(newServiceRoute("news/recent",newHttpServiceHostFactory{Configuration=config},typeof(NewsRestService)));}
复制代码
注:必要经由过程NuGet增加对WebApi.All的援用。news/recent就是REST会见网址。
出工!只需两步就完成REST,WCFWebAPI的扮演得分2分。
2:6,WCFWebAPI年夜获全胜!(分数少的怎样反而得胜?这是代码天下,不是实际天下,程序员说了算,谁的代码少,谁就得胜)

小结
WCFWebAPI是“First-classprogrammingmodelforHTTPinWCF”,而HTTP是Web天下的通行证,WebAPI可让我们更轻松地畅游于Web编程天下。
完成REST只是WCFWebAPI小试牛刀,我们还能够不必修正任何服务端代码,只改动客户端哀求的体例,就能够前往不现范例的数据。
好比:
1)将HTTPHeader中的Accept改成“application/json”,前往的就是JSON数据。
2)经由过程Url参数倡议OData查询(好比“?$top=4&$orderby=Title”),服务器收到哀求后,会对前往了局举行LINQ查询(因而示例代码中的前往值范例是IQueryable<NewsItem>)。

相干内容
英文:
WCFWebAPIOverview
GettingStarted:BuildingasimpleWebAPI
WCFWebAPIs,HTTPyourway
中文:
WCFWebAPI第一印象
WCFWebApi
进门:构建复杂的WebAPI
进门:增加一个撑持猎取单一资本和撑持POST,PUT和DELETE办法
net网页编程的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。
老尸 该用户已被删除
沙发
发表于 2015-1-20 20:50:46 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
若相依 该用户已被删除
板凳
发表于 2015-1-29 23:44:14 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
第二个灵魂 该用户已被删除
地板
发表于 2015-1-31 22:47:50 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
变相怪杰 该用户已被删除
5#
发表于 2015-2-6 10:29:41 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-7 05:59:44 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
蒙在股里 该用户已被删除
7#
发表于 2015-2-20 16:11:17 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-6 18:29:20 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
谁可相欹 该用户已被删除
9#
发表于 2015-3-7 22:29:21 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
只想知道 该用户已被删除
10#
发表于 2015-3-15 14:48:11 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
精灵巫婆 该用户已被删除
11#
发表于 2015-3-22 01:24:54 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 10:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表