Ƶ µÀ Ö± ´ï - ÐÂÎÅ - ¶ÁÊé - Åàѵ - ½Ì³Ì - Ç°ÑØ - ×éÍø - ϵͳӦÓà - °²È« - ±à³Ì - ´æ´¢ - ²Ù×÷ϵͳ - Êý¾Ý¿â - ·þÎñÆ÷ - רÌâ - ²úÆ· - °¸Àý¿â - ¼¼ÊõȦ - ²©¿Í - BBS
51CTO.COM_ÖйúÁìÏȵÄIT¼¼ÊõÍøÕ¾
ÕÒ×ÊÁÏ£º

ÓÃWCF´´½¨Ò»¸öRESTµÄAPI

×÷Õß: Hartmut Wilms/ÕÅÒÝ ±àÒë ³ö´¦:InfoQÖÐÎÄÕ¾¡¡2008-03-19 14:57¡¡   ×©    ºÃ    ÆÀÂÛ  Ìõ ¡¡½øÈëÂÛ̳
ÔĶÁÌáʾ£º±¾ÎĽéÉÜÁËÒ»¸öÃûΪRESTChessµÄRESTÓ¦ÓóÌÐòʾÀý£¬Ê×ÏÈ̸µ½ÔÚWCFÖÐÖ§³ÖRESTµÄijЩ±³¾°ÐÅÏ¢¡£½Ó×Å£¬Haider SabriÔò¶ÔRESTÒÔ¼°RESTµÄÖ÷ÒªÌØÐÔ½øÐÐÁ˼òÒªµÄ½éÉÜ¡£

Aaron SlomanºÍHaider SabriÔÚMIX08ÖÐ̸µ½ÁËÈçºÎ¡°Ê¹ÓÃWCF´´½¨Ò»¸öRESTµÄAPI¡±£¬ÆäÖУ¬½éÉÜÁËÒ»¸öÃûΪRESTChessµÄRESTÓ¦ÓóÌÐòʾÀý¡£

Aaron SlomanÊ×ÏÈ̸µ½ÔÚWCFÖÐÖ§³ÖRESTµÄijЩ±³¾°ÐÅÏ¢¡£½Ó×Å£¬Haider SabriÔò¶ÔRESTÒÔ¼°RESTµÄÖ÷ÒªÌØÐÔ½øÐÐÁ˼òÒªµÄ½éÉÜ¡£¾ÝHaiderËù˵£¬RESTÌṩµÄ¹Ø¼üÓÅÊÆÔÚÓÚ£º

¡ôµÍµÄѧϰÃż÷
¡ôROA×ñÑ­ÁËWebÓïÒå¡­¡­ÊÊÓÚWeb·þÎñµÄAPIs
¡ôÁé»î¶à±äµÄÏìÓ¦¸ñʽ

ËûÈÏΪ¡°Èç¹û¿Í»§¶Ëδ֪£¬ÄÇôÔÚ´´½¨Ò»¸öͨÓÃAPIʱ£¬RESTÊÇ×î¼ÑÑ¡Ôñ¡±¡£

WCFͨ¹ýWeb±à³ÌÄ£ÐÍÀ´Ö§³ÖREST£¬¸ÃÄ£ÐÍÊÇÔÚ.NET Framework 3.5ÖÐÔö¼ÓµÄ£¬°üÀ¨ÈçϸÅÄ

¡ôURI Templates & WebGet/WebInvoke
ËüÃǶ¼ÊÇÌØÐÔ£¬ÓÃÓÚÓ³ÉäHTTPÇëÇóµ½ÀàÖеķ½·¨¡£
¡ôWebHttpBinding
WebHttpBindingÊÇWCFµÄÒ»¸ö°ó¶¨£¬ÔÊÐíWCF»ùÓÚWebHttp½øÐÐÄÚÈÝ·¢ËÍ¡£
Äã¿ÉÒÔºÜÈÝÒ×µØÔÚRESTºÍSOAPµÄAPIÖ®¼ä½øÐÐÇл»¡£
¡ôWebOperationContext
WebOperationContextÖ§³ÖÒÔREST·½Ê½´¦ÀíÇëÇóÓëÏìÓ¦¡£

Haider Sabri½éÉÜÁËRESTChess£¬ËüÊÇÓÃÓÚ¹ú¼ÊÏóÆåÓÎÏ·µÄRESTµÄAPI¡£RESTChess¼ÈÊÇÒ»¸öºÜºÃµÄÀý×Ó£¬ÓÃÀ´Õ¹ÏÖ²ÉÓÃWCFµÄWeb±à³ÌÄ£ÐÍʵÏÖµÄRESTµÄAPI£¬Í¬Ê±ÓÖÊÇÒ»¸öÀ©Õ¹¼¯£¨¶¨ÖÆWCF°ó¶¨ºÍÐÐΪ£©£¬ÃÖ²¹ÁËWCF Web±à³ÌÄ£Ð͵ÄȱÏÝ£º

¡ôÁé»îµÄURIs
ÔÚIISÍйܷþÎñʱ£¬·þÎñµÄ.svcÀ©Õ¹ÃûÊDZر¸µÄ¡£
RESTChessÌṩÁËÒ»¸öURLµÄÖØÐ´Æ÷£¬²¢ÔÚIIS 7Öб»ÊµÏÖΪһ¸öHTTPÄ£¿é¡£
¡ôÖ»Ö§³ÖGETºÍPOSTµÄµÍ¼¶REST¿Í»§¶Ë´î½¨Ö§³ÅµÄÇÅÁº
ÓÐÁ½ÖÖ³£¼ûµÄ·½·¨¿ÉÒÔ½â¾öÕâÒ»ÎÊÌâ:
¡ô×Ô¶¨ÒåHTTP±êÍ·
¡ô_method²éѯ²ÎÊý
RESTChessʵÏÖÁËÒ»¸ö×Ô¶¨ÒåWCFͨµÀ£¬¿ÉÒÔ·Ö±æ¸ß¼¶µÄºÍµÍ¼¶µÄREST¿Í»§¶Ë£¬ÒÔ¼°ÐÞ¸ÄÀûÓÃÒþ²ØµÄDELETE»òPUT·½·¨Í¨¹ýPOSTÇëÇ󴫵ݵ½ÊʺϵÄHTTP·½·¨µÄÏûÏ¢¡£
¡ôʹÓÃÊý¾ÝÇ©ÃûÑéÖ¤ÇëÇó
RESTChessʹÓÃÁËOAuth£¬ËüÊÇÒ»¸ö°üº¬ÁËÊý¾ÝÇ©ÃûµÄ¡°Ö§³Ö°²È«µÄAPIÑéÖ¤µÄ¿ª·ÅЭÒ顱¡£
OAuthµ÷ÓÃÕß×÷Ϊ²éѯ²ÎÊý¶ÔÇ©Ãû½øÐд«µÝ¡£
Ò»¸ö×Ô¶¨ÒåµÄWCFͨµÀ¸ºÔð¼ì²éÇëÇóÊÇ·ñ¾ßÓÐOAuthÃÜÔ¿£¬Èç¹ûÔÚÇëÇó±»·Ö·¢¸ø·þÎñÄ£ÐÍ֮ǰ£¬µ÷ÓÃÕßûÓб»ÑéÖ¤£¨ÃÜÔ¿²»´æÔÚ»òÕß²»ÄÜʶ±ð£©£¬¾Í»áÅ׳öÒ»¸öÒì³£¡£
¡ô¶àÖÖ±íÏÖÐÎʽ
WCFÖ»Ö§³ÖXMLºÍJSON¡£
¡ôRESTµÄÒì³£´¦Àí
RESTChessÍŶӹ¹½¨ÁËÒ»¸öÒýÇæ£¬Äܹ»½«Òì³£Ó³Éäµ½Êʵ±µÄHTTP´íÎó´úÂë¡£

ËäÈ»¸ÃÍŶÓΪWCFµÄWeb±à³ÌÄ£ÐÍÍê³ÉÁËʰÒŲ¹ãÚµÄÈÎÎñ£¬µ«HaiderÔòÈÏΪ£º¡°WCFµÄÉÁ¹âÖ®´¦¾ÍÔÚÓÚÄܹ»¶ÔËü½øÐÐÀ©Õ¹¡¢Ìí¼Ó£¬ÒÔ¼°¹¹½¨ÔÚ¸ßˮƽµÄ»ù´¡Ö®ÉÏ¡±¡£

¡¾Ïà¹ØÎÄÕ¡¿

¡¾ÔðÈα༭£º»ð·ï»Ë TEL£º£¨010£©68476606¡¿

¹ØÓÚ WCF  REST  API µÄ
רÌâ
WCF¿ª·¢»ù´¡
¼èÄѵÄWAPI±ê׼֮·
ÌåÑéVisual Studio 2008µÄ÷ÈÁ¦
Visual Studio 2005¿ª·¢»ù´¡
²âÊÔ¿ª·¢ÈËÔ±²Î¿¼ÊÖ²á
ÎÒҲ˵Á½¾ä

ÄäÃû·¢±í

(Èç¹û¿´²»ÇåÇëµã»÷ͼƬ½øÐиü»»)


ÖÐ ¹ú Áì ÏÈ µÄ IT ¼¼ Êõ Íø Õ¾ ¡¤
¼¼ Êõ ³É ¾Í ÃÎ Ïë
¡¤Java»ù´¡½Ì³Ì (²é¿´70693´Î)
¡¤UMLÀàͼÏê½â (²é¿´64143´Î)
¡¤UMLͳһ½¨Ä£ÓïÑÔ (²é¿´34914´Î)
¡¤C#¼¼Êõ¿ª·¢Ö¸ÄÏ (²é¿´33433´Î)
¡¤C++ÊÇÀ¬»øÓïÑÔ£¿£¡ (²é¿´31627´Î)
¡¤Java±à³Ì¿ª·¢ÊÖ²á (1196¸öש)
¡¤Java»ù´¡½Ì³Ì (429¸öש)
¡¤C#¼¼Êõ¿ª·¢Ö¸ÄÏ (309¸öש)
¡¤.NET¿ª·¢ÊÖ²á (240¸öש)
¡¤PB¿ª·¢½Ì³Ì (223¸öש)
¡¤Java±à³Ì¿ª·¢ÊÖ²á (654¸öºÃ)
¡¤Java»ù´¡½Ì³Ì (574¸öºÃ)
¡¤.NET¿ª·¢ÊÖ²á (271¸öºÃ)
¡¤PB¿ª·¢½Ì³Ì (212¸öºÃ)
¡¤Delphi¿ª·¢¼¼ÊõÊÖ²á (190¸öºÃ)
¶©Ôļ¼Êõ¿ìѶ
µç×ÓÔÓÖ¾ÏÂÔØ
Ãû³Æ£ºSQL ServerÊý¾Ý¿â¹ÜÀí¾«Æ·»ÆÆ¤Êé
¼ò½é£ºÊéÖÐÎÄÕ¾­¹ý¾«Ìôϸѡ£¬±ãÓÚÓû§Äܸù¾Ý×Ô¼ºµÄʵ¼Ê¹¤×÷ºÍѧϰ£¬¿ìËÙÔÚ±¾ÊéѰÕÒµ½Ïà¹Ø×ÊÁÏ¡£ÄÚÈݺ­¸ÇÁËSQL ServerµÄ°²×°ÓëÉý¼¶¡¢Óï¾ä²éѯ¡¢Êý¾Ý±¸·ÝºÍ»Ö¸´¡¢×Ô¶¯»¯ÈÎÎñ¡¢Êý¾Ýͬ²½¡¢Êý¾Ý×ֵ䡢°²È«ºÍÔ¤·À¡¢ÐÔÄܺÍÓÅ»¯¡¢¼¯ÈºµÈ¸÷·½ÃæÓ¦ÓÃÐÅÏ¢£¬ÒÔ¼°DBA¹ÜÀíÈËÔ±ÔÚÊý¾Ý¿â¹ÜÀí¹¤×÷ÖÐ
Ãû³Æ£º2007·Óɼ¼Êõ´óÈ«
¼ò½é£º¡¶2007·Óɼ¼Êõ´óÈ«¡·ÓÉ51CTO.comÍøÕ¾ÌØ±ð²ß»®ÖÆ×÷£¬¸ÃÊé°üÀ¨Â·ÓÉÆ÷¼¼Êõ¡¢Â·ÓÉÆ÷²úÆ·¡¢Â·ÓÉÆ÷ÅäÖᢰ²È«ÉèÖá¢Â·ÓÉÆ÷¹ÊÕÏ´¦Àí¡¢Â·ÓÉÆ÷ÃÜÂë»Ö¸´£¬ÒÔ¼°¹ã´óÍøÓÑÔÚʵ¼ùʹÓÃÖеÄÐĵþ­ÑéºÍ¼¼ÇÉÎÄÕ£¬ÄÚÈÝ×¢ÖØÊµÓÃÐÔ£¬ÊÊÓÃÓÚ³õѧÕßÈëÃÅ£¬Ò²Êʺ϶àÄê´ÓÒµÕßÌá¸ß£¬ÊÇÒ»±¾Êµ¼ùºÍÀíÂÛÍê
Ãû³Æ£ºÍøÂ簲ȫ¾«Æ·Ó¦ÓÃ»ÆÆ¤Êé
¼ò½é£º¡¶2007¾«Æ·ÍøÂ簲ȫ»ÆÆ¤Êé¡·°üÀ¨ÁË9¸ö´óÀà24¸öСÀ࣬ 800ÓàÆªÎÄÕ£¬ÄÚÈݰüº¬ÁËÐÜèÉÕÏ㲡¶¾¡¢DDOS¹¥»÷¡¢ARP²¡µÈÈȵãÎÊÌâµÄ½éÉܼ°½â¾ö·½°¸¡£´Ó²¡¶¾²éɱ¡¢·À·¶¡¢ÏµÍ³¡¢Êý¾ÝµÈ¸÷·½ÃæµÄ°²È«ÉèÖõ½ºÚ¿Í¼¼ÊõµÄÁ˽⡢·À·¶£¬Éæ¼°µ½Á˰²È«Ó¦ÓõÄÈ«²¿ÁìÓò, ÓÉdzÖÁÉîÄÚÈÝÈ«Ãæ¡£
iSCSIÓ¦ÓÃÓë·¢Õ¹
iSCSIÓ¦ÓÃÓë·¢Õ¹
CISSPÈÏÖ¤³É³¤Ö®Â·
CISSPÈÏÖ¤³É³¤Ö®Â·
Òþ˽±£»¤¼¼Êõ̽ÌÖ
Òþ˽±£»¤¼¼Êõ̽ÌÖ
¡¤ Òþ˽±£»¤¼¼Êõ̽ÌÖ
¡¤ »ªÎªÔ±¹¤×ÔɱƵƵ¿½ÎÊ..
¡¤ FTTx¹âÏ˽ÓÈë
¡¤ Windows Server 2008ר..
¡¤ ¿ªÔ´ÐéÄ⻯¼¼ÊõXen
¡¤ WCF¿ª·¢»ù´¡
¡¤ Linux¡ª¡ª´Ó²ËÄñµ½¸ßÊÖ
¡¤ ΢Èí³ö¼Û446ÒÚÃÀÔªÊÕ¹º..
¡¤ SQL Server 2008/2005..
¡¤ RAID¡ª¡ª´ÅÅÌÕóÁлù´¡
¡¤ ΢ÈíForefrontÆóÒµ°²È«..
¡¤ ÈçºÎÓÅ»¯IT ¿ØÖÆÄܺÄ
¡¤ ¹ú¼ÊÎĵµ¸ñʽ±ê×¼¿ªÕ½
¡¤ ɺº÷³æQQ×÷ÕßÇÖȨ°¸¿ªÍ¥
¡¤ ±´¶÷×ʱ¾Ð¯ÊÖ»ªÎª22ÒÚ..
¡¤ 802.11n:ÏÂÒ»´úµÄÎÞÏß..
Çå³ýÁ÷Ã¥Èí¼þ¡ª¡ª51CTOÌØ±ðרÌâ
Çå³ýÁ÷Ã¥Èí¼þ¡ª¡ª..
ARP¹¥»÷·À·¶Óë½â¾ö·½°¸
ARP¹¥»÷·À·¶Óë½â..
VPN¼¼Êõ
VPN¼¼Êõ
¡¤ VPN¼¼Êõ
¡¤ iSCSIÓ¦ÓÃÓë·¢Õ¹
¡¤ SQL Server 2008/2005..
¡¤ ×ÓÍøÑÚÂë½Ì³Ì
¡¤ SQL Server 2008/2005..
¡¤ iSCSIÓ¦ÓÃÓë·¢Õ¹
¡¤ RAID¡ª¡ª´ÅÅÌÕóÁлù´¡
¡¤ Öмä¼þÓ¦Óü¼ÊõרÌâ
¡¤ ÉîÈëÁ˽âPGP¼ÓÃܼ¼Êõ
¡¤ ²¡¶¾²éɱרÌâ
¡¤ VPN¼¼Êõ
¡¤ ¹ú¼ÊÎĵµ¸ñʽ±ê×¼¿ªÕ½
¡¤ SSL VPNÏêϸ֪ʶ
¡¤ Linux·À»ðǽ
¡¤ ´òÔ찲ȫ·þÎñÆ÷
¡¤ Sniffer°²È«¼¼Êõ´ÓÈëÃÅ..
ARP¹¥»÷·À·¶Óë½â¾ö·½°¸
ARP¹¥»÷·À·¶Óë½â..
VPN¼¼Êõ
VPN¼¼Êõ
SQL Server 2008/2005È«½â
SQL Server 2008/..
¡¤ SQL Server 2008/2005..
¡¤ iSCSIÓ¦ÓÃÓë·¢Õ¹
¡¤ Öмä¼þÓ¦Óü¼ÊõרÌâ
¡¤ SQL Server 2008/2005..
¡¤ ×ÓÍøÑÚÂë½Ì³Ì
¡¤ iSCSIÓ¦ÓÃÓë·¢Õ¹
¡¤ RAID¡ª¡ª´ÅÅÌÕóÁлù´¡
¡¤ Éí·ÝÈÏÖ¤¼¼Êõ
¡¤ ²¡¶¾²éɱרÌâ
¡¤ Çå³ýÁ÷Ã¥Èí¼þ¡ª¡ª51CTO..
¡¤ SSL VPNÏêϸ֪ʶ
¡¤ Sniffer°²È«¼¼Êõ´ÓÈëÃÅ..
¡¤ VPN¼¼Êõ
¡¤ Á˽âͳһÍþв¹ÜÀí(UTM)..
¡¤ ÍøÂçµöÓã
¡¤ ADSLÓ¦ÓÃ̾̾¾ãµ½