|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。先体验一下,假如没有WCFWebAPI,间接用WCF完成REST有多贫苦:
1.创立WCF服务(ServiceContract)。
2.创立.svc文件指向该WCF服务。
3.在web.config中增加<service>/<endpoint>设置,并将binding设置为webHttpBinding,示例设置以下:
- <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"),示例设置以下:
- <endpointBehaviors><behaviorname="RESTFul"><webHttp/></behavior></endpointBehaviors>
复制代码 5.在OperationContract办法上增添WebInvoke属性,示例代码以下:
- [OperationContract][WebInvoke(Method="GET",UriTemplate="News/Recent/{itemcount}",ResponseFormat=WebMessageFormat.Xml)]IQueryable<NewsItem>GetRecentNews(intitemcount);
复制代码 下面的5步已够贫苦了。入手下手觉得到此就能够出工了,哪知不运转不晓得,一运转吓一跳:
- OperationGetRecentNewsincontractINewsRestServicehasapathvariablenameditemcountwhichdoesnothavetypestring.VariablesforUriTemplatepathsegmentsmusthavetypestring.
复制代码 参数居然不克不及用int范例,必需要用string。只能看WCF心叹,不能不进进第6步。
6.将int改成string
- IQueryable<NewsItem>GetRecentNews(stringitemcount);
复制代码 这是纯WCF完成REST的扮演节目,节目称号叫“WCF完成REST六步走”,扮演得分6分。
接上去,我们看看WCFWebAPI的扮演
(假如不晓得WCFWebAPI是何方崇高,请看演员先容http://wcf.codeplex.com/wikipage?title=WCF%20HTTP)
1.在供应REST服务的办法上增添[WebGet(UriTemplate="")]属性,示例代码以下:
- [ServiceContract]publicclassNewsRestService{[WebGet(UriTemplate="{itemcount}")]publicIQueryable<NewsItem>GetRecentNews(intitemcount){returnnewsList.AsQueryable();}}
复制代码 2.在Global.asax的Application_Start中增加路由,示例代码以下:
- 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网页编程的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。 |
|