<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      wcf、webservivce、remoting、wse、Enterprise Service、msmq.... 亂談

      2011-06-22 14:46  熬夜的蟲(chóng)子  閱讀(693)  評(píng)論(1)    收藏  舉報(bào)

      前陣子剛聽(tīng)說(shuō)后十年是soa和并行計(jì)算的,現(xiàn)在又來(lái)后十年是移動(dòng)終端的 雖說(shuō)不矛盾但是也不和諧,這個(gè)就不多扯了

      wcf

      Windows Communication Foundation (WCF) 是 Microsoft 為構(gòu)建面向服務(wù)的應(yīng)用程序而提供的統(tǒng)一編程模型。借助這一模型,開(kāi)發(fā)人員可以構(gòu)建既能跨平臺(tái)與現(xiàn)有投資集成又能與現(xiàn)有投資交互的安全、可靠的事務(wù)處理解決方案。

      webservivce (ASMX)

      ASP.NET Web 服務(wù) (ASMX)。這種技術(shù)用于與基于 J2EE 的現(xiàn)有預(yù)定應(yīng)用程序,以及與 Internet 上的合作伙伴應(yīng)用程序進(jìn)行通信。因?yàn)槟壳按蠖鄶?shù)平臺(tái)都支持基本的 Web 服務(wù),所以在 WCF 發(fā)布之前,這是實(shí)現(xiàn)跨供應(yīng)商互操作性的最直接的方法。

      remoting

      NET Framework 遠(yuǎn)程處理。這種技術(shù)可用于與呼叫中心應(yīng)用程序進(jìn)行通信,因?yàn)槎叨际墙⒃?.NET Framework 之上的。遠(yuǎn)程處理專(zhuān)門(mén)為緊密耦合的 .NET 到 .NET 通信而設(shè)計(jì),因此它為本地網(wǎng)絡(luò)中的應(yīng)用程序提供了無(wú)縫而直接的開(kāi)發(fā)體驗(yàn)。
      Enterprise Service

       企業(yè)服務(wù)。租車(chē)預(yù)定應(yīng)用程序使用該技術(shù)來(lái)管理對(duì)象生存期和定義分布式事務(wù)。在與此應(yīng)用場(chǎng)景中的任何其他應(yīng)用程序通信和集成時(shí),這些功能會(huì)很有用,但是企業(yè)服務(wù)僅支持有限的一組通信選項(xiàng)。
      WSE

      可與 ASMX 一起使用,以便與基于 J2EE 的預(yù)定應(yīng)用程序以及合作伙伴應(yīng)用程序進(jìn)行通信。它實(shí)現(xiàn)了最新定義的一些 Web 服務(wù)協(xié)議(統(tǒng)稱(chēng) WS-* 規(guī)范),因此只要相關(guān)所有應(yīng)用程序都支持這些新規(guī)范的兼容版本,WSE 就可提供更加靈活的 Web 服務(wù)安全性。
      MSMQ

      Microsoft 消息隊(duì)列 (MSMQ)。用于與基于 Windows 的合作伙伴應(yīng)用程序進(jìn)行通信,這些應(yīng)用程序?qū)?shù)據(jù)傳送、工作量分離以及應(yīng)用程序生存期均要求有保證。消息隊(duì)列提供持久穩(wěn)定的消息傳送,這通常是間歇式連接的應(yīng)用程序的最佳解決方案。

       

      WCF的傳輸協(xié)議

      ◆BasicHttpBinding不支持可靠性,BasicHttpBinding面向舊的ASMX Web服務(wù),是不具有可靠性的;

      ◆NetMsmqBinding不支持可靠性,MSMQ協(xié)議,使用消息隊(duì)列,針對(duì)斷開(kāi)調(diào)用,不存在傳輸會(huì)話;             

      ◆MsmqIntegrationBinding不支持可靠性;支持WCF與MSMQ協(xié)議通信,不存在傳輸會(huì)話;

      ◆NetPeerTcpBinding不支持可靠性。NetPeerTcpBinding則為廣播場(chǎng)景設(shè)計(jì)。

      ◆WSDualHttpBinding支持可靠性的,建立兩個(gè)http會(huì)話通道,保持回調(diào)通道,確保基于HTTP協(xié)議的客戶(hù)端存在;

      ◆NetTcpBinding 支持可靠性,顯然使用TCP傳輸數(shù)據(jù)。以及各種WS綁定,默認(rèn)情況下并不支持可靠性,允許啟用;    

      ◆NetNamedPipeBinding綁定總是擁有一個(gè)確定的從客戶(hù)端到服務(wù)的跳數(shù),因而它的可靠性是綁定固有的;

      ◆WSFederationHttpBinding支持可靠性,支持聯(lián)邦通信協(xié)議,支持在多個(gè)安全區(qū)域進(jìn)行安全會(huì)話。

       

      應(yīng)用比較:

           wcf是WebService,Remoting,...之上的一層抽象,讓程序員們以一種統(tǒng)一的方式去編寫(xiě)基于WebService或Remoting。。。的程序,而且它們之間的切換很簡(jiǎn)單,只需要改一下配置。 也就是說(shuō),開(kāi)始服務(wù)以WS向外提供,因?yàn)樾枨蟾淖儯臑镽emoting向外提供,只需要修改配置。WCF封裝了各種不同實(shí)現(xiàn)的具體細(xì)節(jié)。WCF服務(wù)元數(shù)據(jù)是WCF服務(wù)的核心部分服務(wù)地址(Address)、綁定(通信協(xié)議Binding)、契約(服務(wù)、操作、數(shù)據(jù)Contract)的原始描述信息。

           WSE 3.0 僅支持安全框架,而 WCF 支持安全框架、可靠消息處理框架和事務(wù)框架。如表格所示,WCF 還提供更多的本地處理行為和自定義掛鉤。實(shí)際上,WCF 對(duì)象模型中的每一層都可以通過(guò)代碼、屬性或配置進(jìn)行擴(kuò)展。最終,WCF 提供更完整的開(kāi)發(fā)框架,該框架是圍繞各種 Web 服務(wù)協(xié)議從頭開(kāi)始設(shè)計(jì)的。WSE支持WS-* 標(biāo)準(zhǔn)。WCF基本上實(shí)現(xiàn)了目前所有的WS-* 標(biāo)準(zhǔn)。

          ASMX基本的網(wǎng)絡(luò)服務(wù)的互用性,Remoting TCP協(xié)議、.net與.net之間的交互通信,Enterprise Service的分布式事務(wù),msmq的隊(duì)列消息。WCF 同樣具備。  

          WCF 定位為新的 .NET Web 服務(wù)平臺(tái),該平臺(tái)可以完全替代現(xiàn)在對(duì) 現(xiàn)行分布式系統(tǒng) 所提供功能的需要。

       

      性能比較:

      Order[] GetOrders(int NumOrders);
      {
                  Order[] orders = new Order[numOrders];
                  for (int i = 0; i < numOrders; i++)
                  {
                      Order order = new Order();
                      OrderLine[] lines = new OrderLine[2];
                      lines[0] = new OrderLine();
                      lines[0].ItemID = 1;
                      lines[0].Quantity = 10;
                      lines[1] = new OrderLine();
                      lines[1].ItemID = 2;
                      lines[1].Quantity = 5;
                      order.orderItems = lines;
                      order.CustomerID = 100;
                      order.ShippingAddress1 = "012345678901234567890123456789";
                      order.ShippingAddress2 = "012345678901234567890123456789";
                      order.ShippingCity = "0123456789";
                      order.ShippingState = "0123456789012345";
                      order.ShippingZip = "12345-1234";
                      order.ShippingCountry = "United States";
                      order.ShipType = "Courier";
                      order.CreditCardType = "XYZ";
                      order.CreditCardNumber = "0123456789012345";
                      order.CreditCardExpiration = DateTime.UtcNow;
                      order.CreditCardName = "01234567890123456789";
                      orders[i] = order;
                  }
                  return orders;
      }

       

       

       

      string TransferFunds(int source, int destination, Decimal amount);

      Here the service just returns a string "successful" or "failure"

      For the order message the following code service is used:

      static public ProductInfo CreateProductInfo(int count)
      {
                  ProductInfo productInfo = new ProductInfo();

                  productInfo.TotalResults = count.ToString();
                  productInfo.TotalPages = "1";
                  productInfo.ListName = "Books";
                  productInfo.Details = new Details[count];
                  for (int x = 0; x < count; x++)
                  {
                      productInfo.Details[x] = GetDetail();
                  }
                  return productInfo;
      }

      static Details GetDetail()
      {
            Details details = new Details();
            details.Url = 
      "http://www.abcd.com/exec/obidos/ASIN/043935806X/qid=1093918995/sr=k
      a-1/ref=pd_ka_1/103-9470301-1623821";
            details.Asin = "043935806X";
            details.ProductName = "Any Book Available";
            details.Catalog = "Books";
            details.ReleaseDate = "07/01/2003";
            details.Manufacturer = "Scholastic";
            details.Distributor = "Scholastic";
            details.ImageUrlSmall = 
      "http://images.abcd.com/images/P/043935806X.01._PE60_PI_SZZZZZZZ_.jpg";
            details.ImageUrlMedium = 
      "http://images.abcd.com/images/P/043935806X.01._PE60_PI_MZZZZZZZ_.jpg";
            details.ImageUrlLarge = 
      "http://images.abcd.com/images/P/043935806X.01._PE60_PI_LMZZZZZZZ_.jpg";
            details.ListPrice = "29.99";
            details.OurPrice = "12.00";
            details.UsedPrice = "3.95";
            details.Isbn = "043935806X";
            details.MpaaRating = "";
            details.EsrbRating = "";
            details.Availability = "Usually ships within 24 hours";
            return details;
      }

       

       


       

       

       

      主站蜘蛛池模板: 亚洲Av综合日韩精品久久久| 在线观看中文字幕国产码| 韩国午夜福利片在线观看| 亚洲av无码专区在线厂| 国产精品99中文字幕| 成人动漫综合网| 无码内射中文字幕岛国片| 四虎在线播放亚洲成人| 少妇午夜福利一区二区三区| 午夜福利精品国产二区| 亚洲无av在线中文字幕| 香蕉久久夜色精品国产成人| a级黑人大硬长爽猛出猛进| 成人午夜国产内射主播| 国产精品妇女一区二区三区| 国产精品普通话国语对白露脸| 国产精品无码av不卡| 毛片亚洲AV无码精品国产午夜| 日本高清无卡码一区二区| 井陉县| 国产精品久久无中文字幕| 女人的天堂A国产在线观看| 赤壁市| 性欧美乱熟妇xxxx白浆| 九九热视频在线免费观看| 福利视频在线一区二区| 国产精品美女www爽爽爽视频| 国产成人高清亚洲综合| 人妻熟妇乱又伦精品无码专区| 乱老年女人伦免费视频| 含紧一点h边做边走动免费视频| 九九热在线视频只有精品| 午夜福利国产精品视频| 亚洲日韩国产中文其他| 日韩精品一区二区亚洲专区| 国产在线观看免费人成视频| 一区二区三区精品视频免费播放| 在线a人片免费观看| 亚洲三区在线观看内射后入| 日韩丝袜亚洲国产欧美一区| 五月天免费中文字幕av|