语言WCF学习之一起—实现REST服务(二十二)

尽管吧说以澳门之老三天少夜间被本人之记忆。

二、Rest的优点

  1)缓存,使用 HTTP 向 RESTful
端点申请数量时,用到之 HTTP 动词是 GET。对于 GET
请求响应中回到的资源,可以为此多种不同的艺术开展缓存。Conditional GET
就是可供应选择的一律种植实现细节,客户端好于服务证他的数额是否为新型版本;RESTful
端点可以由此她进一步提高速度和可伸缩性。

  2)扩展,REST
鼓励各级起资源蕴藏处理非常请求所要的拥有必要状态。满足当下同一绳时,RESTful
服务又易扩展且可以没有状态。

  3)副作用,使用 GET 请求资源,RESTful
服务应该没副作用(遗憾之凡,与另外部分 REST
约束相比,这无异于约束更爱被打破)。

  4)幂等,统一接口另外两只常因此到的要紧
HTTP 动词是 PUT 和 DELETE。用户代理想如果改资源时不过经常采用 PUT,DELETE
可以自描述。要点(也就是“幂等”一词所强调的)是若得本着特别资源多次用即时点儿单动词,效果和首不善用同一——至少不见面生出外其它影响。构建可靠的分
布式系统时(即错误、网络故障或推或致多次推行代码),这同样优点可提供保障。

  5)互操作性许,多人拿 SOAP
捧为建客户端-服务器程序最有互操作性的计。但片言语及条件至今仍无
SOAP
工具包。有有则来工具确保,但利用的是原专业,不克担保与用更新标准的家伙确保可靠沟通。对于多数操作,REST
仅要求有 HTTP 库(当然,XML 库通常也充分有帮衬),它的互操作性肯定大了任何
RCP 技术(包括 SOAP)。

  6)简易性与外优点相比,这同一独到之处更主观一些,不同之人数也许出例外的感受。对本人而言,使用
REST 的简易性涉及到代表资源的 URI 和联合接口。作为同样叫 Web
冲浪高手,我了解在浏览器中输入不同之 URI
可以取不同的资源(有时也吃号称 URI 或 URL
黑客,但绝无恶意)。由于生多年应用 URI 的阅历,所以也资源计划 URI
对自己吧得心应手。使用统一接口简化了支付过程,因为自身不必为每个需要建立的劳务构建接口、约定或
API。接口(客户端与我之劳务交互的措施)由网布局约束设置。

 

他们在旅游景点间流动,比如大三巴牌坊、玫瑰堂、议事厅前地、妈阁庙等等。他们不赶时间,所以脚步缓慢而坚定,脸上充满着灿烂的笑脸和索奇的向往,他们以此间短暂地摆脱了存的压力,所以,虽然澳门是世上人口密度最高的所在,但是以这么的密度下,你丝毫不曾感到到压力及恐惧,只要跟着川流不息的人流,你尽管知道肯定能到您而达的目的地。

其三、WCF如何支撑Rest

      
WCF如何落实对Rest支持的呢?弄清这或多或少凡上学Rest WCF的重大。

       为了落实为对Rest的支撑,在 .NET
Framework 中,WCF 在 System.ServiceModel.Web
组件中新增了编程模型和有基础架构部件。WCF
Web编程模型几单重点项目就是:

   1)  WebGetAttribute 和
WebInvokeAttribute:

      
我们掌握,在WCF中,对于艺术的调用是根据SOAP的Action的,每个客户端发送的SOAP消息都需指定一个Action
的值。这个Action的价值与WCF服务之法子对应。每个WCF服务端的操作都来一个特定的Action。通过
OperationContractAttribute.Action 属性设置。

  在Rest
WCF中,基于Action的方调用转变以因URI+Http动词的调用。也不怕是SOAP
Action=URI+Http动词。

  这种映射会由WebHttpDispatchOperationSelector
类型来成功,它会拿客户端请求的URI+Http动词,映射到一定的劳务章程及。

  WebGetAttribute 告诉服务方式应该响应
HTTP GET 请求。

  WebInvokeAttribute 默认映射为 HTTP
POST,但只是将WebInvokeAttribute.Method 属性设置为支持有其他 HTTP
动词(PUT 和 DELETE 等)。例如:

     

    

   [WebGet(UriTemplate = "/Books/Get/{BookId}", BodyStyle = WebMessageBodyStyle.Bare)]
          [OperationContract]
          List<Books> GetBook(string BookId);



        [WebInvoke(Method = "POST", UriTemplate = "/Books/Add", BodyStyle = WebMessageBodyStyle.Bare)]
         [OperationContract]
         Result AddBook(Books book);

   2)  UriTemplate 和
UriTemplateTable:

      UriTemplate 一个意味统一资源标识符
(URI) 模板的切近。可以定义服务操作的门路和HTTP动词。

  UriTemplateTable一个意味同样组关联
UriTemplate
对象的类。也就是UriTemplate表。

     
从地方的例证代码,我们呢克观看哪些行使UriTemplate
定义服务操作的URI和HTTP动词。

 

      3)   WebHttpBinding 和
WebHttpBehavior:

       WebHttpBinding允许开发人员通过
HTTP 请求(这些请求使用“Plain old XML”(POX) 样式消息,而未是用基于
SOAP 的音)来明 WCF Web 服务,可以挺有益之兑现REST。

       
与其它绑定不同之是:必须以WebHttpBehavior对劳动的终结点进行布局。还求利用WebGetAttribute或WebInvokeAttribute属性将各个服务操作映射到
URI,同时定义调用和归结果的音格式。

 

   WCF Web 编程模型允许开发人员通过
HTTP 请求(这些请求使用节能的故的“Plain old XML”(POX)
样式消息,而未是SOAP 的音讯)来明 WCF服务。为了让客户端采用 HTTP
请求和服务开展通信,必须运用附加了
WebHttpBehavior
WebHttpBinding 对劳动之终结点进行布局。

   WebHttpBehavior 行为与
WebHttpBinding
绑定一起行使时,支持 WCF 公开与访问 Web
样式服务。WebServiceHost
会自动将此行为增长到应用
WebHttpBinding
的截止点。例如:

        

<system.serviceModel>
    <bindings>
       <webHttpBinding>
         <binding name="RestWebBinding">

         </binding>

       </webHttpBinding>

     </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="metadataBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://127.0.0.1:8888/BookService/metadata" />
          <serviceDebug includeExceptionDetailInFaults="True" />

        </behavior>
          <behavior name="RestServiceBehavior">

         </behavior>

      </serviceBehaviors>
       <endpointBehaviors>
         <behavior name="RestWebBehavior">
           <!--这里必须设置-->

           <webHttp />

         </behavior>

       </endpointBehaviors>
    </behaviors>

    <services>   

      <service name="SCF.WcfService.BookRestService" behaviorConfiguration="RestServiceBehavior">
         <endpoint address="http://127.0.0.1:8888/" behaviorConfiguration="RestWebBehavior"
                   binding="webHttpBinding" bindingConfiguration="RestWebBinding" contract="SCF.Contracts.IBookRestService">
         </endpoint>
       </service>
    </services>
  </system.serviceModel>

 

   4)WebServiceHost 和
WebServiceHostFactory:

     
为了支持Web编程模型,WCF框架提供一个初的宿主类型:WebServiceHost。它是一个
ServiceHost
派生类,它是本着WCF Web 编程模型的增补。如果 WebServiceHost
在服务证遭到找不交终结点,则它以于劳动之基址中活动吗 HTTP 和 HTTPS
基址创建一个默认了点。如果用户都于基址中显然部署终结点,则它不会见自动创建了点。WebServiceHost
会自动配置终结点的绑定,以便在安康虚拟目录中行使时同涉及的 Internet
信息服务 (IIS) 安全设置一起以。

  WebServiceHostFactory在可动态创建WebServiceHost
Web宿主实例以响应传入消息之托管宿主环境被提供
WebServiceHost
的实例的工厂。

     

 

以澳门专程是澳门半岛时,一定要是调一下针对性地图比例尺的体味,在地图上看在大丰富之离开,实际活动下很快即到了。算上凼仔岛与路环岛中间填海而变成的程凼城,澳门合才出33平方公里。这是单什么概念也?上海的面积是6340平方公里,将近200独澳门,而上海一共发生215单乡级行政单位(街道、镇、乡),所以,澳门大致就是上海一个街的面积。

 一、什么是REST

       表述性状态转移(Representational
State Transfer,REST),不是相同种标准,而是同样栽软件架构风格。

      
基于REST的劳务同因SOAP的劳动相比,性能、效率以及易用性上都再也强,而SOAP协议非常之错综复杂与莫透明。REST受到进一步多的Web服务供应商欢迎。目前大部分供应商,如淘宝、腾讯、google、Amazon等都提供REST风格的服务。

 REST的重要性原则是:

 1.网络直达的备东西都只是让架空为资源;

 2.每个资源且有一个唯一的资源标识符URI;

 3.使用正式措施操作资源;

 4.所有的操作都是随便状态的;

 5.通过缓存来加强性能。

       
REST (Representation State Transfer) 描
述了一个架构样式的大网体系,比如Web应用程序。它首涂鸦面世于2000年 Roy Fielding 的博士论文中,他是HTTP规范之主
要编写者之一。REST 指的是同组架构约束规范及准星。满足这些约束原则以及规格的应用程序或计划虽是 RESTful。

      
使用REST做吧业务逻辑接口是以,从客户端到服务器的每个请求都不能不含有理解要所必要的音讯。如果服务器在伸手中的其余时刻接触还开,客户端不见面得
到通报。此外,无状态请求可以由其余可用服务器对,这生适合云计算之类的条件。客户端好缓存数据以改善性能。

       
在劳动器端,应用程序状态与功能可以分为各种资源。资源是一个妙不可言的概念实体,它为客户端公开。资源的事例有:应用程序对象、数据库记录、算法等等。每个
资源且运 URI (Universal Resource Identifier) 得到一个独一无二的地址。客户端采用的凡业内的 HTTP协议进行资
源访问,同时还好下专业的HTTP方法,比如 GET、PUT、POST 和 DELETE。

      
REST的一个要害尺度是系子,这意味组件无法了解其与的相的中间层以外的机件。通过以系统的一点功能范围于某某平等重叠,由是可以界定整个系统的复杂,促进了底部的独立性。

      
当 REST 架构的律规范作为一个一体化采用时,将格外成一个好扩大至大气客户端的应用程序。它还退了客户端和服务器之间的并行延迟。统一界面简化了整个系统架构,改进了分系间相互的可见性。REST 简化了客户端和服务器的实现。

      
REST的资源表述形式得以是XML、HTML、JSON,或者其他随意的款式,这有赖于服务提供商和花服务的用户。

      
但是REST不是全能的。操作无状态呢会带来巨大的安题材,如何授权和认证用户?如果要求每次要都蕴涵圆的位置和说明信息,又何以避免信息外泄?复杂的作用挑战架构的易用性,这就是待在性及效益间权衡,究竟该用REST还是SOAP。  

由于面积最小,其实导航是未好用的,经常走方走方,由于导航的误差,就把你惹至其它一样漫长路上了,加上老城区里大多是遭到葡混血并带南洋风情的骑楼,整座老城又是盖在崎岖不平的山地上,方向感是几乎没有的。

博这游戏本没有原罪,有原罪的是那些动感虚空而将向往安放于生命之外的芸芸众生,他们的想望形成了一个宏大之合理性,最终反向吞噬他们之人生,而博,仅仅是和相近次级贷同一充满风险的成本游戏的别一样栽形式而已。

美妙绝代之水舞间上演

赌场通宵达旦,里面众生百态。最有意思的实际赌场的之外,凌晨一两点的早晚,赌场外还三五成群坐在平等堆积一堆积的人数,这其中来发达的赌客,跃跃欲试的观光客,巧舌如簧的经纪人,还有更多的凡恃赌场讨生活之偌大的产业链,他们受您递上香烟,送上美酒,帮您换钱得到钱,鼓励而,安慰你,只为了给你在这里一掷千金。

盛大的玫瑰圣母堂

泽泻的人流

自打20世纪60年份澳门起发展博彩业起,这座城市就以争让丁的神经得到重新甚之鼓舞就桩业务上越走越远。

大三巴牌坊前的雕塑

闻一多先生的《七子之歌唱》里早已说“你可知Macau不是自身真正姓”,可自反而认为,回到那个年代,一众多靠海为生的渔家,看到金发碧眼的番人,在语言不通的情形下,第一句子话还是海神娘娘,应该是也这些刚漂洋过海而来的人数祈祷吧,这不正是泱泱中华海纳百川有容乃大的学识呢?

直插天际的8字形摩天轮

于平静的老城区里,你当进入了一个几百年遭受欧混血的古镇,一旦走来,你就是发现,你归了非常名动天下的赌城。

啊正是这般,让旅客在不知不觉吃放慢了脚步,索性就当当下几百年之碎石铺变成花纹的小道上多走走,反正绕到何还是移动换景,哪怕就是在这么美的路上转悠,也是一模一样种植享受。

几百年前葡萄牙人从这边登陆,询问这里是啊地方,当地人对“妈祖”,于是发了Macau的由于来。

虽人多,但挪以澳门半岛的马路上,还是安静的,仿佛这涌动的人流和此地方之间并没有一定的关系。

刚才在外界还是人头攒动,走上前玫瑰堂里倒是太严肃严肃,安静到如同可以听到厅前坐倚十字架的救世主圣像之靡靡吟唱,下面是衷心之信教者,更多的也是游客,但是大家都非甘于破坏就卖庄严,颇有极致白诗中“不敢高声语,恐惊天上人”的感觉。

凼仔码头下,几分钟就到了路凼城,这是一个填海而成为的区域,连贯公路两边耸立着一家家规模宏大的度假酒店,每一样家酒吧都极其尽奢华,里面购物、演出、娱乐、餐饮一应俱全,这样的酒楼会满足人口具有由外在欲望带来的诉求。

川流不息

澳门凡是社会风气上人口密度最深的处,每平方公要超越20000总人口,相当给上海的6倍增,可以设想一下,你走在外滩,突然人差不多矣六倍增,一下子尽管上过年夜的韵律了。城市为人数要是产生火,所以,人成为了澳门底另外一样志景观。

以及隔海相望的香港差之凡,旅游是澳门绝要紧之支柱产业,每年来此地的旅游者只要跳3000万人次。所以同样是路上川流不息的人流,但香港大多是行色匆匆的城里人,而澳门虽大多是源于世界各地,操各种语言的旅行者。

2017年,太阳马戏团来上海演,有幸欣赏了Kooza的巧妙。和广州长隆之良马戏相比,Kooza更偏重故事性和艺术性,长隆的技术性则越来越突出,但是水舞间以及她俩了不同。水舞间的舞台设计、灯光、服饰、道具、音乐,每分每秒都以激发着观者的各国一个神经末梢,这会耗费五年时间,投资过20亿港币的汇演真堪称惊世巨铸。

堂皇的威尼斯人酒店

妈阁庙既然是一个图平安幸福、风调雨顺的场合,一定是心平气和的,因为静而后能安,安而后能虑,虑而后能得。所以妈阁庙虽略,却能够当盛了成百上千上下穿行的旅游者和丰旺的香火后,仍然能透过从前之沉香和树上的平安符给每个人心灵之劝慰。

议事厅前地的菲菲花纹

动若脱兔

既是出静若处子般祥与静美,又生出动若脱兔般热情如火,澳门正于使诗经里所述,“呦呦鹿鸣,食野之苹,我出麻雀,鼓瑟吹笙”,逐渐变为当下栋地球上最好热心好客之旅游胜地,我说,值得用心体会。

殖民主义的发展更了几只级次,说词通俗的话,如果说类似香港的英国殖民主义走之大部分凡进入店的模式吧,更多是依赖出口技术、政治、资本,掠夺财物、资源,而葡萄牙人则是进一步传统的直营店模式,即由开贸易开始,不断经营这片土地,挖掘地方的潜力。这种直营店模式培养了南美的巴西,也造就了澳门当下枚盛开在南海底即的荷花。

妈阁庙里的平安符

自打16世纪葡萄牙人以晒货为由,在澳门半岛沿海居住了下去,直到现在回归为特别行政区,转眼四百差不多年,澳门现已起一个小镇成为了游戏的犹,并持续用静若处子般娇美及动若脱兔般热情引发着持续的八方来客。

阳光下游客的擅自表演

他俩援引了全球最好显赫的品牌,几乎有为消费而特别之货色这里还能够请至;他们推荐了无与伦比美好的演出,连伦敦帕拉丁剧院的《音乐的声》这样的藏剧目都得以在此地体会原汁原味;他们制造了一个同时一个人造奇观,威尼斯底运河,巴黎底铁塔,还有直插入云的摩天轮,更为著名的还有趟舞间。

威尼斯面具后虽是赌场

上述这总体只为抓住而来到澳门,甚至为诱人的价钱吸引你来,因为当各国一样所酒店底层四通八达的主干区域,无一例外都是赌场。

静若处子

妈阁庙的祥和又是另外一番场面。妈祖是礼仪之邦东南沿海地段的海神,也是中华无与伦比有代表性的民间信仰之一。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图