My FAQ,×îÐÂ×îÈ«µÄIT¼¼Êõ½Ì³Ì
×îÐÂ100ƪ | ÍÆ¼ö100ƪ | רÌâ100ƪ | ÅÅÐаñ | ËÑË÷ | ÔÚÏßAPIÎĵµ
Ê× Ò³ | ³ÌÐò¿ª·¢ | ²Ù×÷ϵͳ | Èí¼þÓ¦Óà| Í¼ÐÎͼÏó | ÍøÂçÓ¦Óà| ¾«ÎÄÜöÝÍ | ½ÌÓýÈÏÖ¤ | Ó²¼þά»¤ | Î´ÕûÀíÆª | Õ¾³¤½Ì³Ì
ASP JS PHP¹¤³Ì ASP.NET ÍøÕ¾½¨Éè UML J2EESUN .NET VC VB VFP ÍøÂçά»¤ Êý¾Ý¿â DB2 SQL2000 Oracle Mysql
·þÎñÆ÷ Win2000 Office C DreamWeaver FireWorks Flash PhotoShop ÉÏÍø±¦µä CorelDraw ЭÒé´óÈ« ÍøÂ簲ȫ ΢ÈíÈÏÖ¤
Ó²¼þά»¤  CPU  Ö÷°å  Ó²ÅÌ  ÄÚ´æ  ÏÔ¿¨  ÏÔʾÆ÷  ¼üÅÌÊó±ê  Éù¿¨ÒôÏä  ´òÓ¡»ú  »úÏäµçÔ´  BIOS  Íø¿¨  C#  Java  Delphi  vs.net2005
  µ±Ç°Î»Öãº> ³ÌÐò¿ª·¢ > ±à³ÌÓïÑÔ > .NET > Web Services
ÔöÇ¿Web·þÎñ2.0±à³Ì
×÷Õß:δ֪ ʱ¼ä:2003-10-13 12:12 ³ö´¦:Microsoft Ôð±à:MyFAQ
              ÕªÒª£ºÔÝÎÞ


¡¡¡¡Microsoft ·¢ÐÐÁË Web Services Enhancements (WSE) 1.0 °æ,ÒÔÔÚÖ§³ÖµÄ²úÆ·ÖÐÆôÓð²È«¡¢Â·Óɺ͸½¼þ£¬Í¬Ê±Ëü»¹Ö§³Ö¸ß¼¶Web ·þÎñ¡£Web Services Enhancements 2.0ÒÑ´Ó¼òµ¥Ö§³Ö»ù±¾Ð­Òé·¢Õ¹µ½Ö§³ÖºËÐŦÄÜÓë²Ù×÷ϵͳµÄ¼¯³É£¬²¢ÔöÇ¿Á˲ßÂÔ¡¢ÐÅÈκÍÉÏÏÂÎÄÁîÅÆ¹¦ÄÜ¡£

¡¡¡¡WSE Ò²ÊÇ¶Ô .NET Framework Ö§³ÖµÄÀ©Õ¹£¬ËüÓÃÓÚ´´½¨ºÍʹÓà Web ·þÎñ£¬¶ø WSE 2.0 ²ÉÓÃеıà³Ìģʽ¡£¹ýÈ¥£¬Web ·þÎñÖ§³ÖÒ»Ö±ÒÀÀµ Internet Information Server (IIS) ×÷ΪÆä HTTP ·þÎñÆ÷Ö÷»ú£»ÏÖÔÚ£¬WSE 2.0 Ö§³Öͨ¹ý TCP/IP »òÔÚ½ø³ÌÄÚÀ´·¢ËÍÏûÏ¢¡£ÕâÑù£¬Äú¿ÉÒÔͨ¹ý¶ÔµÈ¡¢µ¥Ïò¡¢Òì²½µÈ·½Ê½½«ÏûÏ¢´Ó·þÎñÆ÷·¢Ë͵½¿Í»§¶Ë¡£

¡¡¡¡ÏÂÃæ£¬ÎÒÃǽ«¼òÒª½éÉÜ WSE 2.0 µÄ¼¸¸öÖ÷Òª¹¦ÄÜ£¬²¢¼ÙÉèÄúÒÑÊìϤ WSE 1.0¡£

¡¡¡¡Rock Paper Scissors£ºÒ»ÖÖ°²È«µÄ¡¢·Ö²¼Ê½ÏûÏ¢´¦ÀíʾÀýÓ¦ÓóÌÐò

¡¡¡¡ÎªÁËչʾ WSE 2.0 µÄ¸÷¸ö·½Ã棬ÎÒÏë´´½¨Ò»¸öÓ¦ÓóÌÐòÒÔչʾһЩа²È«¹¦ÄܺÍÏûÏ¢´¦Àí¹¦ÄÜ¡£¾ßÌåÀ´Ëµ£¬ÎÒϲ»¶Ê¹Óà TCP ÏûÏ¢´¦ÀíÖ§³ÖÀ´ÏÔʾ¶ÔµÈͨÐÅ£¬²¢Ê¹ËüÔÚWindows °²È«ÐÔÁìÓò¹¤×÷¡£ÎÒÏëµ½µÄÊÇÒ»¸ö¼òµ¥µÄ·Ö²¼Ê½°æ±¾µÄ¾É Rock Paper Scissors ÓÎÏ·£¬ÏÖÔÚ¿ÉÒÔÓà WSE 2.0 ½øÐа²È«·Ö·¢¡£

¡¡¡¡Rock Paper Scissors ÊÇÒ»¸öÁ½È˶ùͯÓÎÏ·£¬´«Í³ÉϰüÀ¨ÈÃÿ¸öº¢×ÓÅÄÊÖÈý´Î£¬ÔÚµÚÈý´ÎÅÄÊÖʱ³öʾʯͷ¡¢¼ôµ¶»ò²¼µÄÐÎ×´¡£¸ù¾ÝϱíÖÐËùʾÀíÓɾö¶¨Ê¤Õߣº

  ʯͷ ²¼ ¼ôµ¶
ʯͷ ƽ¾Ö ²¼¹üʯͷ¡£²¼·½Ó®£¡ ʯͷÔÒ»µ¼ôµ¶¡£Ê¯Í··½Ó®£¡
²¼ ²¼¹üʯͷ¡£²¼·½Ó®£¡ ƽ¾Ö ¼ôµ¶¼ô¿ª²¼¡£¼ôµ¶·½Ó®£¡
¼ôµ¶ ʯͷÔÒ»µ¼ôµ¶¡£Ê¯Í··½Ó®£¡ ¼ôµ¶¼ô¿ª²¼¡£¼ôµ¶·½Ó®£¡ ƽ¾Ö

¡¡¡¡¸ÃÓÎϷͨ³£ÓÃÓÚÈ·¶¨ÓÉË­ÏÈÑ¡Ôñ²Î¼ÓɳµØ°ôÇòÈüµÄÑ¡ÊÖ¡¢Ë­³Ô×îºóµÄ±ùä¿ÁÜ£¬ÉõÖÁÓÉË­»÷´ò¶Ô·½µÄÊÖ±Û¡£

¡¡¡¡ÎÒÃǽ« Rock Paper Scissors °á³öɳµØ£¬Ö±½ÓÓ¦ÓÃÔÚ¾ßÓÐ WSE 2.0 µÄ°²È«¡¢Ð­×÷¡¢ÍŽáµÄÆóÒµ¼¼ÊõÖС£¸ÃÓÎÏ·µÄÏûÏ¢´¦Àí½á¹¹ÈçÏÂÃæµÄͼ 1 Ëùʾ¡£


ͼ 1£ºRock Paper Scissors ÏûÏ¢´¦ÀíºÍ°²È«Ä£ÐÍ

¡¡¡¡Rock Paper Scissors ÓÐÁ½¸öÖ÷Òª×é¼þ£ºÒ»¸öÊÇÃûΪ RPSService µÄ ASP.NET Web ·þÎñ£¬ÁíÒ»¸öÊÇÓɶà¸öÓû§ÔËÐеĶԵÈÓ¦ÓóÌÐò¡£RPSService µÄ×÷ÓÃÊÇÈÃÓû§×¢²áÍæÓÎÏ·»òѰÕÒ¶ÔÊÖÀ´ÍæÓÎÏ·¡£¶ÔµÈÓ¦ÓóÌÐòÏÈÊÇÓë RPSService ͨÐÅÒÔÕÒµ½ÒªÓë֮ͨÐŵĶԷ½£¬È»ºóÔÚÈ·¶¨¶ÔÊÖºóÖ±½ÓÓëÆä¶Ô·½½øÍ¨ÐÅ¡£

¡¡¡¡¶ÔµÈ£º¶ÔÓÚÏûÏ¢´¦Àí£¬WSE 2.0 ´Ó»ùÓÚ´«Í³ HTTP ÇëÇó/ÏìÓ¦£¨¼´ RPC »·¾³£©×ª»»Îª²ÉÓÿÉÄÜͬʱ¾ßÓжԵÈÏûÏ¢´¦Àí¡¢Òì²½ÏûÏ¢´¦ÀíºÍÏûÏ¢¶ÓÁеĻ·¾³¡£

¡¡¡¡Kerberos£ºÕû¸öÓ¦ÓóÌÐòÊÇͨ¹ýʹÓü¯³ÉµÄ Windows Kerberos Ö§³Ö´´½¨µÄ¡£Ê¹Óà WSE 2.0£¬Äú¿ÉÒÔÓÃÒ»ÖÖ°²È«µÄ·½Ê½Á¬½ÓÍøÂç¡£ÎÒÃǽ«½øÐÐÑéÖ¤¡¢Êý×ÖÇ©ÃûºÍ¼ÓÃÜÏûÏ¢ÒÔÈ·±£¾ßÓÐ×î¸ßµÄ°²È«ÐÔ£¬ÇÒÕ⽫ÍêÈ«»ùÓÚ Windows Óû§ÕÊ»§¡£

¡¡¡¡±ã½Ý¹ÜÀí£º²»Óñàд´úÂëÀ´¿ØÖÆ·ÃÎÊ£¬ÎÒÃDZã¿ÉÒÔͨ¹ý²ßÂÔÅäÖÃÎļþÀ´ÅäÖÃÏûÏ¢µÄ°²È«ÐÔ¡£Í¨¹ý²ßÂÔÎļþ£¬¿ÉÒÔ¿ØÖÆÒªÊµÏֵݲȫÖÖÀà¡¢Òª¶ÔÏûÏ¢µÄÄIJ¿·Ö½øÐÐÊý×ÖÇ©Ãû»ò¼ÓÃܼ°ÆäʵÏÖ·½Ê½£¬»¹¿É»ùÓÚÏûϢʱÏÞÐÔ¿ØÖƽÓÊÜÌõ¼þ¡£Ä¿Ç°£¬¿ÉÒÔ¿ØÖư²È«ÐÔµÄÏàÓ¦ÈËԱΪ£ºÄúµÄ¹ÜÀíÔ±¡£

¡¡¡¡Rock Paper Scissors£º¸ÃÓ¦ÓóÌÐòµÄÖØÒª×÷Óò»ÔÚÓÚÓ¦ÓóÌÐò±¾Éí£¬¶øÊÇËüÓë±¾ÀýÖв»Í¬ÊµÌåͨÐÅʱʹÓð²È«ÏûÏ¢¡¢²ßÂÔºÍѰַµÄ·½Ê½¡£Äú²Â²»µ½£¬ÎÒÕýÏëÏóÎÒµÄÀϰå˵£º¡°ÎªÁ˾ö¶¨Ö°Ô±½ñÄêµÄ½±½ð£¬ÎÒÏëÈÃÄãÃÇÿÈËÔËÐÐÒ»¸öСµÄÓ¦ÓóÌÐò RockPaperScissors.exe...¡±



Óë Windows °²È«ÐÔ¼¯³ÉµÄ Kerberos ÁîÅÆÖ§³Ö

¡¡¡¡ÎÒÃÇÒªÌÖÂÛµÄ WSE 2.0 µÄµÚÒ»²¿·ÖÊÇÖ§³Ö Kerberos °²È«ÁîÅÆ¡£WSE 1.0 Ö§³ÖÓû§ÃûÁîÅÆºÍ X.509 °²È«ÁîÅÆ¡£¿ÉÒÔ½«ÕâЩÁîÅÆÌí¼Óµ½°²È«ÁîÅÆµÄÏûÏ¢¼¯ºÏ£¬²¢ÓÃÓÚ´´½¨Êý×ÖÇ©Ãû»òÖ´ÐмÓÃÜ¡£¶ÔÓÚ WSE 2.0 À´Ëµ£¬µ±ÔÚ Windows Server 2003 »ò´øÓÐ Service Pack 1 µÄ Windows XP ÉÏÔËÐÐʱ£¬ÔòÒÑÌí¼ÓÁË Kerberos ÁîÅÆÖ§³Ö¡£¸üÖØÒªµÄÊÇ£¬Kerberos ÁîÅÆÖ§³ÖÄܹ»Ó뼯³ÉµÄ Windows °²È«ÐÔÒ»ÆðʹÓã¬ÕâÑù£¬²»ÔÙÐèÒª½«Óû§ÃûÓ³Éä³É Windows Óû§£¬Ò²²»ÓÃÁíÍâÉèÖÃÓû§Êý¾Ý¿â£¬¿ÉÒÔ»ùÓÚ Windows Óû§¿ØÖÆ¶Ô Web ·þÎñµÄ·ÃÎÊ¡£

¡¡¡¡ÔÚΪ RPSService Ìí¼Ó´úÂë֮ǰ£¬ÎÒÒª×öµÄµÚÒ»¼þÊÂÊÇÔÚ×Ô¼ºµÄÏîÄ¿ÖÐÌí¼Ó¶Ô Microsoft.Web.Services ³ÌÐò¿âµÄÒýÓá£Èç¹ûÄúµÄ¼ÆËã»úÉϰ²×°µÄÊÇ WSE 1.0£¬ÄÇôÌí¼ÓÒýÓÃʱעÒâÑ¡Ôñ 2.0 °æµÄ³ÌÐò¿âºÜÖØÒª¡£ÐÒÔ˵ÄÊÇ£¬³ÌÐò¼¯µÄ°æ±¾ºÅ¾ÍÁÐÔÚ³ÌÐò¼¯Ãû³ÆÖ®ºó£¬Òò´Ë¿ÉÒÔÇáËɵØÑ¡ÔñÕýÈ·µÄ³ÌÐò¼¯¡£Í¼ 2 ÏÔʾµÄÊÇÑ¡¶¨ÁË WSE 2.0 ³ÌÐò¿âµÄ Add Reference£¨Ìí¼ÓÒýÓã©¶Ô»°¿ò¡£Çë×¢Ò⣬1.0 °æ±¾µÄ³ÌÐò¿â¾ÍÔÚÑ¡¶¨µÄ³ÌÐò¿â֮ǰ¡£


ͼ 2£º½«ÒýÓÃÌí¼Óµ½ WSE 2.0 ³ÌÐò¼¯

¡¡¡¡ÏÂÃæµÄ´úÂëÑÝʾÈçºÎͨ¹ý±à³ÌµÄ·½Ê½½« Kerberos ÁîÅÆÌí¼Óµ½ÁîÅÆÏûÏ¢¼¯ºÏ¡£ËüÊÇÒ»·½Ë½ÏÂÏòÁíÒ»·½·¢ËÍÆä¶¯×÷ʱËùʹÓõĴúÂë¡£¸Ã´úÂëʹÓà WSE 2.0 µÄÒì²½ TCP ÏûÏ¢¹¦ÄÜ£¨Ëæºó½«Ïêϸ˵Ã÷£©£¬µ«ÓÃÓÚÌí¼ÓÁîÅÆºÍ¼ÓÃܵĴúÂëÀàËÆÓÚ WSE 1.0 ÖÐÓÃÓÚÆäËûÀàÐÍÁîÅÆµÄ´úÂë¡£

using Microsoft.Web.Services.Security.Kerberos;
a€|
KerberosToken peerToken;
a€|
peerToken = new KerberosToken("host/" + OpponentUri.Host);
a€|
envelope.Context.Security.Tokens.Add(peerToken);
envelope.Context.Security.Elements.Add(new EncryptedData(peerToken));

¡¡¡¡Çë×¢Ò⣬ÁîÅÆÊÇͨ¹ý´«µÝÁ¬½ÓÖ÷»úµÄÃû³Æ´´½¨µÄ¡£ÓÃÓÚ´´½¨¸ÃÁîÅÆµÄ Kerberos ±êÇ©ÔÊÐíµ±Ç°Óû§ÓëָʾµÄÖ÷»ú½øÐÐͨÐÅ¡£¾ßÌåÀ´Ëµ£¬¸ÃÁîÅÆ½«ÓÃÓÚ¼ÓÃÜÒª·¢Ë͵ÄÏûÏ¢£¬ÒÔ±ãÖ»ÓиÃÔ¶³ÌÖ÷»ú²Å¿ÉÒÔ¶ÁÈ¡ÕâЩÏûÏ¢¡£

¡¡¡¡ÓëÆäËûÀàÐÍÁîÅÆ²»Í¬£¬Kerberos ÁîÅÆÊ¹Óõ±Ç°µÄ Windows Óû§°²È«ÉÏÏÂÎÄ´´½¨¸ÃÁîÅÆ¡£Èç¹ûÄú²éѯÒÑ´´½¨µÄÁîÅÆ£¬Äú½«»áÕÒµ½Ò»¸ö Principal ³ÉÔ±ÊôÐÔ£¬Ëüָʾ´´½¨¸ÃÁîÅÆµÄÓû§¡£ÎÒÃÇ´Ó½ÓÊÕÏûÏ¢£¨´øÓÐ Kerberos ÁîÅÆ£©µÄ´úÂëµÄÖ÷ÌåÖлñÈ¡Óû§Ãû¡£ÏÂÃæµÄ opponent ±äÁ¿ÊÇÒ»¸ö KerberosToken ¶ÔÏ󣬸öÔÏóÊÇ´Ó´«ÈëÏûÏ¢µÄ Tokens ¼¯ºÏÖлñµÃµÄ¡£¿ÉÒÔÏñÏÂÃæ»ñÈ¡Ãû³ÆÄÇÑùÀ´»ñÈ¡¹ØÓÚÁîÅÆ´´½¨ÕßµÄÐÅÏ¢£¬µ«Ò²¿ÉÒÔµ÷Óà IsInRole() ·½·¨À´Í¨¹ý±à³ÌµÄ·½Ê½È·¶¨ Active Directory ×é³ÉÔ±¡£

this.opposingNameLabel.Text
= "Playing: " + opponent.Principal.Identity.Name;

¡¡¡¡×¢Ò⣺Èç¹ûÔÚ Windows XP ÉÏÔËÐÐ Web ·þÎñ£¬ÔòʹÓà Kerberos ÁîÅÆÊÔͼÁ¬½Óµ½ Web ·þÎñʱ£¬Äú¿ÉÄÜ»áÓöµ½ÒÔÏ´íÎó£º

Microsoft.Web.Services.Security.SecurityFault: An invalid security token
was provided ---£¾ System.Security.SecurityException: Unable to validate
incoming Kerberos ST. LsaLogonUser failed with the following message: A
required privilege is not held by the client. Substatus is 0.

¡¡¡¡³öÏָôíÎóÊÇÓÉÓÚµ÷ÓÃÃûΪ LogonUser µÄ°²È« API ʱ£¬ASPNET ÕÊ»§ÎÞ·¨ÑéÖ¤ Kerberos ÁîÅÆ¡£µ÷Óà LogonUser API µÄÓû§ÕʺÅÒªÇó¾ßÓС°×÷Ϊ²Ù×÷ϵͳµÄÒ»²¿·ÖÀ´²Ù×÷¡±ÌØÈ¨¡£ÔÚĬÈÏÇé¿öÏ£¬ASPNET ÕÊ»§£¨¼´ÔËÐÐ ASP.NET ´úÂëµÄÕÊ»§£©²»¾ßÓиÃÌØÈ¨¡£½¨ÒéÄúÔÚºÏÊʵķþÎñÆ÷ƽ̨Èç Windows Server 2003 ÉÏÔËÐÐÒÑÉèÖà Kerberos °²È«µÄ Web ·þÎñ¡£ÔÚ Windows Server 2003 ÉÏ£¬µ÷Óà LogonUser ʱ²»ÐèÒª¡°×÷Ϊ²Ù×÷ϵͳµÄÒ»²¿·ÖÀ´²Ù×÷¡±ÌØÈ¨¡£ÔÚ Windows XP ÉÏ£¬¿ÉÒÔʹÓà Local Security Policy ¹ÜÀíÓ¦ÓóÌÐòÀ´ÅäÖÃÓµÓС°×÷Ϊ²Ù×÷ϵͳµÄÒ»²¿·ÖÀ´²Ù×÷¡±ÌØÈ¨µÄÕÊ»§£¬°üÀ¨ ASPNET ÕÊ»§£¬µ«Ó¦¸Ã×¢ÒâÕâ»áÔì³É ASP.NET Ó¦ÓóÌÐòµÄ°²È«ÐÔ²»¹»ÑÏÃÜ¡£


°²È«²ßÂÔ

¡¡¡¡ËäÈ»ÒÔÉÏÌÖÂ۵ĴúÂëÓë WSE 1.0 ÖеĴúÂë·Ç³£ÏàËÆ£¬µ«Ëü¾ßÓÐÒ»¸öÓŵ㣺½« Principal ¶ÔÏóÓëÒ»¸öÁîÅÆ¹ØÁª£¬¿ÉÒÔÓÃÀ´²éÕÒij¸ö¾ßÌ尲ȫÁîÅÆµÄÌØ¶¨ÊôÐÔ¡£ÕâÖÖ·½·¨´æÔÚµÄÎÊÌâÔÚÓÚÈÔÒª±àд´úÂëÀ´È·¶¨Ó¦ÊôÓÚ¹ÜÀíÈÎÎñµÄ·ÃÎʹ¦ÄÜ¡£Îª´Ë£¬WSE 2.0 ÌṩÁË´´½¨²ßÂÔÎļþÖ§³Ö¡£

¡¡¡¡²ßÂÔÎļþ»ùÓÚ WS-Policy ¹æ·¶£¬¸Ã¹æ·¶ÊÇΪÔÊÐí Web ·þÎñÉùÃ÷´«ÈëÏûÏ¢Óйذ²È«ÐԵȷ½ÃæµÄÒªÇó¶ø´´½¨µÄ¡£Èç¹ûÏ£ÍûÇ©Ãû»òÕß¼ÓÃÜËùÓлò²¿·ÖÏûÏ¢£¬WSE 2.0 ÔÊÐíÎÒÃÇ¿ØÖÆ Web ·þÎñµÄÓû§ÔÚÏûÏ¢ÖÐʹÓõݲȫÁîÅÆÀà±ð£¬ÒÔ¼°¿ØÖƶԽÓÊÕÏûϢʱÏÞµÄÏÞÖÆ£¬ÉõÖÁ¿ÉÒÔΪ´«ÈëµÄÏûÏ¢Ö¸¶¨½ÇÉ«³ÉÔ±ÏÞÖÆ¡£

¡¡¡¡ÒÔϲßÂÔÎļþ˵Ã÷ Web ·þÎñ½ÓÊÕµÄÏûϢӦʹÓà Kerberos ÁîÅÆ¶ÔÏûÏ¢Ö÷Ìå½øÐÐÇ©Ãû¡£

£¼?xml version="1.0" encoding="utf-8"?£¾
£¼policyDocument
xmlns="http://schemas.microsoft.com/wse/2003/06/Policy"£¾
£¼mappings
xmlns:wse="http://schemas.microsoft.com/wse/2003/06/Policy"£¾
£¼mapDefault
policy="#policy-5903e02b-9c11-4dc5-8ca0-42d4e9d0bcde" /£¾
£¼/mappings£¾
£¼policies
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"£¾
£¼wsp:Policy
wsu:Id="policy-5903e02b-9c11-4dc5-8ca0-42d4e9d0bcde"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy"£¾
£¼wsse:Integrity wsp:Usage="wsp:Required"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"£¾
£¼wsse:TokenInfo£¾
£¼SecurityToken
xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext"£¾
£¼wsse:TokenType£¾wsse:Kerberosv5ST£¼/wsse:TokenType£¾
£¼/SecurityToken£¾
£¼/wsse:TokenInfo£¾
£¼wsse:MessageParts
Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part"£¾
wsp:Body()
£¼/wsse:MessageParts£¾
£¼/wsse:Integrity£¾
£¼/wsp:Policy£¾
£¼/policies£¾
£¼/policyDocument£¾

¡¡¡¡policyDocument ¸ùÔªËØÓÐÁ½¸ö×ÓÔªËØ£ºmappings ºÍ policies¡£policies ÔªËØº¬ÓÐÒ»¸ö»ò¶à¸ö±íÊ¾ÌØ¶¨ÒªÇó¼¯µÄ Policy ÔªËØ¡£ÔÚʾÀýÖУ¬²ßÂÔ°üº¬Ò»¸ö Integrity ÒªÇ󣬱íʾ¸ÃÏûÏ¢ÐèÒªÊý×ÖÇ©Ãû¡£TokenInfo ÔªËØ°üº¬¹ØÓÚËùÐèÁîÅÆÖÖÀàµÄÐÅÏ¢£¬±¾Ê¾ÀýÖÐΪ Kerberos ÁîÅÆ¡£×îºó£¬ÕâÒ»ÌØ¶¨ÍêÕûÐÔÒªÇóÖ¸³ö±ØÐëÇ©ÃûµÄÎĵµ²¿·ÖΪÕýÎÄ£¬ÕâÊÇʹÓà MessageParts ÔªËØÖ¸Ê¾µÄ¡£

¡¡¡¡policyDocument µÄ mappings ²¿·Ö½ö½«Ìض¨ÖÕ½áµãÓë policies ²¿·ÖÖеIJßÂÔ¹ØÁª¡£±¾Ê¾Àý²»°üÀ¨Ìض¨ÖÕ½áµãµÄÈκÎÓ³É䣬½ö°üÀ¨µ¥Ò»µÄĬÈÏÓ³Éä¡£

¡¡¡¡³ýÁËʵ¼Ê´´½¨²ßÂÔÎļþÒÔÍ⣬»¹ÐèÒªÈà WSE ³ÌÐò¿âÖªµÀ¸Ã²ßÂԵĴæÔÚ¡£Òò´Ë£¬ÓбØÒªÅäÖà Web ·þÎñÒÔʹÓô´½¨µÄ²ßÂÔÎļþ¡£Îª´Ë£¬ÐèÒªÐÞ¸Ä Web.config Îļþ¡£ÏÂÃæµÄ Web.config Îļþ¸ø³öÁËΪÆôÓà WSE SoapExtension¡¢ÆôÓà WSE ÅäÖò¿·ÖÖеĴ¦Àí³ÌÐòÒÔ¼°Ìí¼Ó½ÓÊÕ²ßÂÔ»º´æ¶ø×÷µÄ¸ü¸Ä¡£

£¼?xml version="1.0" encoding="utf-8"?£¾
£¼configuration£¾
£¼configSections£¾
£¼!-- Ìí¼Ó¶ÔÅäÖò¿·ÖµÄÒýÓᣠÇë×¢Ò⣬
ÀàÐÍÃû³ÆÒª»»ÐÐÒÔ±ãÓÚÔĶÁ£¬²¢ÇÒ²»Ó¦°üº¬
»»Ðзû¡£--£¾
£¼section name="microsoft.web.services"
type="Microsoft.Web.Services.Configuration
.WebServicesConfiguration, Microsoft.Web.Services,
Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" /£¾
£¼/configSections£¾
£¼system.web£¾

£¼!-- ΪÁ˼ò½à£¬É¾³ýÆäËûÔªËØ --£¾

£¼webServices£¾
£¼soapExtensionTypes£¾
£¼!-- Ìí¼Ó WSE SoapExtension¡£Çë×¢Ò⣬
ÀàÐÍÃû³ÆÒª»»ÐÐÒÔ±ãÓÚÔĶÁ²¢ÇÒ
²»Ó¦°üº¬»»Ðзû¡£--£¾
£¼add type="Microsoft.Web.Services
.WebServicesExtension, Microsoft.Web.Services,
Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
priority="1" group="0" /£¾
£¼/soapExtensionTypes£¾
£¼/webServices£¾
£¼/system.web£¾
£¼!-- WSE Configuration Section --£¾
£¼microsoft.web.services£¾
£¼policy£¾
£¼receive£¾
£¼cache name="policyCache.xml" /£¾
£¼/receive£¾
£¼/policy£¾
£¼/microsoft.web.services£¾
£¼/configuration£¾

¡¡¡¡ÖÁ´Ë£¬Òѽ« Web ·þÎñÅäÖóÉÖ»½ÓÊÜ·ûºÏ policyCache.xml ÎļþÖвßÂÔÒªÇóµÄÇëÇó¡£

¡¡¡¡Èç¹ûÐèÒªÈùÜÀíÔ±ÎªÌØ¶¨µÄ Web ·þÎñÅäÖòßÂÔ£¬ÎÒÃÇͬÑùÏ£Íû¶ÔʹÓà Web ·þÎñµÄÓ¦ÓóÌÐò½øÐÐÀàËÆÅäÖá£×ܶøÑÔÖ®£¬Èç¹û¹ÜÀíÔ±¸ü¸Ä²ßÂÔºóÎÒÃDZØÐëÖØÐÂÉú³ÉʹÓõÄÓ¦ÓóÌÐò£¬Ôò²¢Ã»ÓÐÍêȫʵÏÖÅäÖÃÏûÏ¢ÒªÇóʱÎÞÐèÖØÐÂÉú³É Web ·þÎñµÄ¹¦ÄÜ¡£

¡¡¡¡ÒªÎªÊ¹ÓõÄÓ¦ÓóÌÐòÌí¼Ó¸Ã¹¦ÄÜÀ´·¢ËÍ·ûºÏÌØ¶¨²ßÂÔµÄÏûÏ¢£¬ÐèÒª±¾µØ¾ßÓиóÌÐò¿ÉÒÔʹÓõIJßÂÔÎļþ¡£¶ÔÓÚÒªµ÷Óà .asmx Web ·þÎñµÄ Rock Paper Scissors ¶ÔµÈÓ¦ÓóÌÐò£¬ÎÒÃÇÖ»Êǽ« policyCache.xml Îļþ¸´ÖƵ½¸Ã¿ÉÖ´ÐгÌÐòµÄ¹¤×÷Ŀ¼¡£Èçͬ¶Ô Web ·þÎñµÄ´¦Àí£¬½«¸ÃÓ¦ÓóÌÐòÅäÖóÉʹÓÃÆä .config ÎļþÖеIJßÂÔÎļþ£¨±¾Ê¾ÀýÖÐΪ RockPaperScissors.exe.config£©¡£¸ÃÅäÖÃÎļþÈçÏÂËùʾ¡£

£¼?xml version="1.0" encoding="utf-8"?£¾
£¼configuration£¾
£¼configSections£¾
£¼!-- Ìí¼Ó¶ÔÅäÖò¿·ÖµÄÒýÓá£Çë×¢Ò⣬
ÀàÐÍÃû³ÆÒª»»ÐÐÒÔ±ãÓÚÔĶÁ£¬²¢ÇÒ²»Ó¦°üº¬
»»Ðзû¡£--£¾
£¼section name="microsoft.web.services"
type="Microsoft.Web.Services.
Configuration.WebServicesConfiguration,
Microsoft.Web.Services, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35" /£¾
£¼/configSections£¾
£¼microsoft.web.services£¾
£¼policy£¾
£¼send£¾
£¼cache name="policyCache.xml" /£¾
£¼/send£¾
£¼/policy£¾
£¼/microsoft.web.services£¾
£¼/configuration£¾

¡¡¡¡¶ÔµÈÓ¦ÓóÌÐò½«Í¨¹ý·¢ËÍ·ûºÏ policyCache.xml ÎļþÖеÄÒªÇóµÄÏûÏ¢Óë Web ·þÎñ½øÐÐͨÐÅ¡£


WSE 2.0 Ѱַ

¡¡¡¡WSE 1.0 Óë WSE 2.0 Ö®¼äµÄÇø±ðÖ®Ò»ÊÇ¶Ô WS-Addressing µÄÖ§³Ö¡£WS-Addressing Ìæ»»ÁË WSE 1.0 ÖÐÖ§³ÖµÄ WS-Routing ¹æ·¶µÄ´ó²¿·Ö¹¦ÄÜ¡£´Ó¹¦ÄÜ·½ÃæÀ´Ëµ£¬WS-Addressing ²»Êǽ«Öصã·ÅÔÚ·ÓÉ·¾¶ÉÏ£¬¶øÊÇÌṩһÖÖ»úÖÆ½« To ºÍ From ±êÍ·Ìí¼Óµ½ SOAP ÐÅ·âÖС£WS-Addressing Ò²Ö§³Ö Action¡¢ReplyTo ºÍ FaultTo ±êÍ·¡£Action ±êÍ·ÀàËÆÓÚͨ¹ý HTTP ·¢ËÍ SOAP ÏûϢʱͨ³£Ê¹ÓÃµÄ SOAPAction HTTP ±êÍ·¡£¶ÔÓÚ .asmx Web ·þÎñ£¬HTTP SOAPAction ±êÍ·ÓÃÓÚÈ·¶¨½ÓÊÕ´«ÈëÏûϢʱӦµ÷Ó÷þÎñµÄÄÄÖÖ Web ·½·¨¡£Óë´ËÀàËÆ£¬Action SOAP ±êÍ·ÓÃÓÚÈ·¶¨Í¨¹ý·Ç HTTP ´«Êä½ÓÊÕÏûϢʱҪµ÷Óõĺ¯Êý¡£

¡¡¡¡ÔÚ Rock Paper Scissors Ó¦ÓóÌÐòÖУ¬ÎÒÃÇ»¹½«ÀûÓà ReplyTo ±êÍ·À´È·¶¨½ÓÊÕÏÂÒ»ÏûÏ¢µÄµØÖ·¡£µ±¶ÔµÈÓ¦ÓóÌÐòÖ®Ò»Ïò RPSService ·¢Ë͵¥Ïò RegisterPlayer ÏûϢʱ£¬½«Ö¸¶¨Ò»¸ö ReplyTo ÖÕ½áµã£¬Ö¸Ê¾¶ÔµÈͨÐÅ¿ªÊ¼Ê±ÓÃÀ´½ÓÊÕ¶Ô·½·¢Ë͵ÄÏûÏ¢µÄµØÖ·¡£Óë´ËÀàËÆ£¬µ±µÚ¶þ¸ö¶ÔµÈÓ¦ÓóÌÐò½« FindPlayer ÏûÏ¢·¢Ë͵½ RPSServer ʱ£¬RPSServer ½«·µ»ØÒ»¸ö´øÓÐ ReplyTo ±êÍ·µÄÏûÏ¢£¬¸Ã±êͷָʾµÚÒ»¸ö¶ÔµÈÓ¦ÓóÌÐòµÄÖÕ½áµã¡£Õâ¾Í¸æËßµÚ¶þ¸ö¶ÔµÈÓ¦ÓóÌÐòÓ¦¸Ã½«×Ô¼ºµÄÏÂÒ»ÏûÏ¢·¢Ë͵½µÚÒ»¸ö¶ÔµÈÓ¦ÓóÌÐòµÄÖÕ½áµã¡£ÔÚÓàϵĶԵÈÏûÏ¢ÖУ¬¼ÌÐøÖ¸¶¨ ReplyTo ±êÍ·À´²»¶Ïָʾ½ÓÊÕÏÂÒ»ÏûÏ¢µÄµØÖ·¡£

¡¡¡¡ÏÂÃæÊǶԵÈÓ¦ÓóÌÐòʹÓõIJ¿·Ö´úÂ룬ÔÚ´úÂëÖУ¬Ê×ÏÈÕìÌý¶ÔµÈͨÐÅ£¬È»ºóÔÚµ÷Óà RPSServer RegisterPlayer Web ·½·¨Ö®Ç°Í¨¹ý ReplyTo ±êͷָʾ URI¡£


myPeerUri
= new Uri("soap.tcp://"
+ System.Net.Dns.GetHostName()
+ ":3131/RPSPeer1");
SoapReceivers.Add(myPeerUri, typeof(PeerService));

RPSServ.RPSServerWse proxy = new RPSServ.RPSServerWse();
proxy.RequestSoapContext.ReplyTo = myPeerUri;

¡¡¡¡TCP ÏûÏ¢´¦Àí

¡¡¡¡ÔÚ WSE 2.0 ÖУ¬ÏûÏ¢´¦ÀíÊÇÐÂÔö¹¦ÄܵÄÖ÷Òª²¿·Ö¡£WSE 2.0 ͨ¹ýÒì²½ TCP »òÇëÇó/ÏìÓ¦·½Ê½ TCP Ϊ½ø³ÌÖеÄͨÐÅÌṩ֧³Ö¡£ÔÚ±¾Ê¾ÀýµÄ Rock Paper Scissors Ó¦ÓóÌÐòÖУ¬ÎÒÃǽ«·¢ËÍÏûÏ¢À´Ö¸Ê¾Íæ¼Ò¶ÔÓÚÌØ¶¨ÓÎϷʵÀýÊÇ·ñÑ¡ÔñÁËʯͷ¡¢²¼»ò¼ôµ¶¡£ÓÉÓÚÎÒÃÇÒÀ¿¿Óû§½»»¥À´È·¶¨·¢ËÍÏûÏ¢µÄÄÚÈÝ£¬ÎÒÃDz»¿ÉÄÜÎÞÏ޵صȴýÐèÒª·¢ËÍÏìÓ¦µÄÇëÇó£¬Òò´Ë£¬ÎÒÃÇʹÓÃÒì²½ TCP ÏûÏ¢À´ÊµÏÖÌØ¶¨ÓÎÏ·µÄͨÐÅ¡£Ò»¸öÈË·¢ËÍÆä¶¯×÷ºóÓ¦ÓóÌÐòÄÍÐĵĵȴý£¬Ö±µ½¶Ô·½Íæ¼Ò·¢ËÍÆä¶¯×÷¡£Äú¿ÉÒÔ½«Õâ¿´×÷ÀàËÆÓÚÏò²Ö¿â·¢ËÍ·¢»õµ¥£¬±ØÐëµÈ´ý£¬Ö±µ½ÓÐÈËÊÖ¶¯°ü×°²ÄÁÏ£¬²ÅÄÜ·¢ËÍÒ»¸öָʾÇëÇóÍê³ÉµÄÏìÓ¦¡£

¡¡¡¡ÔÚÉÏÃæÏÔʾµÄ ReplyTo ´úÂëÖУ¬¸ø³öÁ˽¨Á¢ TCP ÖÕ½áµãÐèÒªµÄ²¿·Ö´úÂ롣ͨ¹ý SoapReceiver ÀàÖÐµÄ Add ·½·¨£¬¿ÉÒÔ×¢²áÕìÌý´úÂë¡£ÔÚ±¾Ê¾ÀýÖУ¬ÎÒÃÇ´´½¨ÁËÒ»¸öÃûΪ PeerService µÄÀ࣬ËüÊÇÕìÌý´«ÈëµÄ Rock Paper Scissors ÓÎÏ·µÄ SoapReceiver ÀàµÄ×ÓÀà¡£PeerService ÀàÖ»ÊÇÖØÔØÁË´¦Àí´«ÈëÏûÏ¢µÄ Receive ·½·¨¡£¸ÃÀàµÄ´úÂëÈçÏÂËùʾ£º

public class PeerService : SoapReceiver
{
public static Form1 Form;

protected override void Receive(SoapEnvelope envelope)
{
Form.opponentPlay
= (char)envelope.GetBodyObject(typeof(char));
foreach (SecurityToken tok in envelope.Context.Security.Tokens)
{
if (tok is KerberosToken)
{
Form.opponent = (KerberosToken)tok;
break;
}
}
Form.OpponentUri = envelope.Context.ReplyTo;
if (Form.peerToken == null)
Form.peerToken
= new KerberosToken("host/"
+ Form.OpponentUri.Host);
Form.opposingNameLabel.Invoke(
new Form1.ReceivePlayDelegate(Form.ReceivePlay));
}
}

¡¡¡¡Receive ·½·¨²ÉÓà SoapEnvelope ¶ÔÏó×÷Ϊ²ÎÊý¡£SoapEnvelope ÀàÊÇ´Ó XmlDocument ÀàÅÉÉúµÃµ½µÄ£¬ÕâÑù£¬Äú¿ÉÒÔͨ¹ý±ê×¼µÄ XML DOM ½Ó¿ÚÀ´·ÃÎÊ SOAP ÕýÎĺͱêÍ·¡£ÎÒÃÇûÓÐʹÓà DOM ½Ó¿Ú£¬¶øÊÇÀûÓà GetBodyObject ·½·¨»ùÓÚ SOAP ÏûÏ¢ÕýÎÄÖÐµÄ XML À´´´½¨Ò»¸öÀ࣬¸Ã·½·¨ÔÚ¹¦ÄÜÉÏʹÓÃÁË XmlSerializer¡£ÎÒÃǽ«¶¯×÷ÐÅÏ¢±£´æÔÚ Form ÀàµÄÒ»¸ö¹«ÓÐÊôÐÔÖС£

¡¡¡¡ÎÒÃÇ»¹´ÓÇëÇóÖлñÈ¡ Kerberos ÁîÅÆ²¢½«Ëü±£´æ¡£Ëü½«ÓÃÓÚÒÔºó»ñÈ¡¶ÔÊÖµÄÃû³Æ¡£È»ºó£¬±£´æ¶ÔÊÖµÄ ReplyTo URI£¬ÒÔ±ãÎÒÃÇÁ˽â½ÓÊÕÏìÓ¦µÄµØÖ·¡£ÎÒÃÇÒà¿É»ùÓÚ URI ÖÐÏÔʾµÄÖ÷»úÏÈÐн¨Á¢ Kerberos ÁîÅÆ£¬Ëü½«ÓÃÓÚ¼ÓÃÜ·µ»ØµÄÏûÏ¢¡£

¡¡¡¡SoapReceivers Ö§³Ö½«ÕìÌý´«ÈëµÄÁ¬½Ó£¬²¢ÔÚÊÕµ½ÏûϢʱµ÷ÓÃָʾµÄÀàµÄ Receive ·½·¨¡£½ø³ÌµÄÏ̳߳ØÖеÄij¸öÏ߳̽«µ÷Óà Receive ·½·¨£¬´ó¶àÊýÇé¿öÏ£¬¸ÃÏ̲߳»ÊÇ´¦ÀíÓ¦ÓóÌÐòÖ÷´°¿ÚÏûÏ¢±ÃµÄÏ̡߳£Òò´Ë£¬ÔÚ Receive ·½·¨µÄĩ⣬ÎÒͨ¹ý Windows ´°ÌåÖеÄÒ»¸ö¿Ø¼þµ÷Óà Invoke ·½·¨¡£Õâ¾ÍÆô¶¯ÁËÖ÷´°¿ÚÏß³ÌÖÐÖ¸¶¨µÄίÍй¦ÄÜ£¬ÒÔʹ´°ÌåÖи÷ÖֿؼþµÄ³£¹æ½»»¥ÕýÈ·½øÐС£ÔÚ±¾Ê¾ÀýÖУ¬Î¯ÍÐÈ·¶¨Á½´Î¶¯×÷ºóµÄÓ®¼Ò²¢ÏàÓ¦µØ¸üÐÂÓû§½çÃæ¡£

¡¡¡¡µ±µ÷Óà SoapReceivers.Add ·½·¨£¨ÏÂÃæÔÙ´ÎÏÔʾÁ˸÷½·¨£©Ê±£¬ÎÒÃÇ´«µÝÁ½¸ö²ÎÊý£ºÒ»¸ö URI ºÍÕìÌýÀàµÄÀà±ðÀàÐÍ¡£URI ָʾÁ˶àÏîÄÚÈÝ¡£Ê×ÏÈ£¬URI ÀàÐÍΪ soap.tcp¡£Õâ±íʾËüÊÇÒ»¸öͨ¹ý TCP ·¢Ë굀 SOAP ÏûÏ¢µÄ URI¡£URI µÄÖ÷»úÃû³ÆÖ¸Ê¾ÒªÕìÌýµÄ¼ÆËã»ú£¬ÆäºóÊÇÓÃÀ´ÕìÌý´«ÈëÁ¬½ÓµÄ TCP ¶Ë¿ÚºÅ¡£ÔÚ±¾Ê¾ÀýÖУ¬ÎÒÃÇʹÓÃ¶Ë¿Ú 3131¡£×îºÃ²»ÒªÊ¹Óà 1000 ÒÔϵĶ˿ںţ¬ÒòΪËüÃÇÊÇÎªÌØ¶¨ÀàÐ͵ÄÓ¦ÓóÌÐò¶ø±£ÁôµÄ£¨ÀýÈ磬¶Ë¿Ú 80 ÓÃÓÚ HTTP ·þÎñÆ÷£©¡£

myPeerUri
= new Uri("soap.tcp://"
+ System.Net.Dns.GetHostName()
+ ":3131/RPSPeer1");
SoapReceivers.Add(myPeerUri, typeof(PeerService));

¡¡¡¡ÏòÒì²½ TCP ÕìÌýÆ÷·¢ËÍÏûϢҲͬÑù¼òµ¥¡£ÎÒÃÇÖ»Òª´´½¨Ò»¸ö SoapEnvelope ¶ÔÏ󣬲¢Ê¹Óà SetBodyObject ·½·¨½«¶ÔÏóÐòÁл¯µ½ÕýÎÄµÄ XML ÖС£SoapEnvelope °üº¬Ò»¸ö Context ÊôÐÔ£¬¸ÃÊôÐÔµÄʹÓÃÀàËÆÓÚ³£¹æ HTTP °ó¶¨µÄ SOAP ½»»¥Ê±Ê¹ÓÃµÄ SoapRequestContext ºÍ SoapResponseContext ÊôÐÔ¡£ÎÒÃÇÓÃËüÀ´½¨Á¢ÐèÒªµÄ Action SOAP ±êÍ·ºÍ¿ÉÑ¡µÄ ReplyTo ±êÍ·¡£ÎÒÃÇ»¹ÒªÌí¼ÓÇ°Ãæ´´½¨µÄ Kerberos ÁîÅÆ²¢ÓÃËüÀ´¼ÓÃÜÏûÏ¢¡£¶ÔÓÚ·¢ËÍÏûÏ¢£¬ÎÒÃÇʹÓà SoapSender À࣬¸ÃÀàÓëÎÒÃÇÓÃÓÚÕìÌý´«ÈëÏûÏ¢µÄ SoapReceiver ÀàÏà¶ÔÓ¦¡£SoapSender Àà»ñÈ¡Æä¹¹Ô캯ÊýÖеÄÖÕ½áµã URI£¬È»ºó½«´«µÝµÄ SoapEnvelope ·¢Ë͵½ Send ·½·¨¡£·¢ËͶԵÈÏûÏ¢µÄ´úÂëÈçÏÂËùʾ¡£

// Send Message
SoapEnvelope envelope = new SoapEnvelope();
envelope.SetBodyObject(myPlay);
envelope.Context.Action = new Action(OpponentUri.ToString());
envelope.Context.Security.Tokens.Add(peerToken);
envelope.Context.Security.Elements.Add(
new EncryptedData(peerToken));
envelope.Context.ReplyTo = myPeerUri;
SoapSender peerProxy = new SoapSender(this.OpponentUri);
peerProxy.Send(envelope);

¡¡¡¡Äú¿ÉÒÔ´Ó Microsoft Download Center »ñÈ¡ Rock Paper Scissors Ó¦ÓóÌÐòµÄÍêÕûÔ´´úÂ루ӢÎÄ£©¡£

¡¡¡¡WSE 2.0 µÄÆäËû¹¦ÄÜ

¡¡¡¡Í¨¹ý Rock Paper Scissors Ó¦ÓóÌÐò£¬ÎÒÃÇÑо¿ÁË WSE 2.0 µÄÐí¶à¹¦ÄÜ£¬µ«ÊÇ»¹ÓÐÐí¶àÆäËû¹¦ÄÜ¡£Óû§ÃûÁîÅÆ»¹¿ÉÒÔÓë Windows °²È«ÐÔ¼¯³É£¬Èç Kerberos ÁîÅÆ¡£ÓÉÓÚÖ§³Ö°²È«ÉÏÏÂÎÄÁîÅÆ£¬Äú¿ÉÒÔ½¨Á¢ÓÐЧµÄ¶Ô³ÆÃÜÔ¿£¬ÓÃÓÚ¶ÔÁ½¸öÖÕ½áµãÖ®¼äµÄ¶à¸öÏûÏ¢½øÐмÓÃÜ£¬¶øÎÞÐèΪÿ¸öÏûÏ¢Éú³ÉÒ»¸öеÄÃÜÔ¿¡£³ýÁ˰²È«ÉÏÏÂÎÄÁîÅÆÒÔÍ⣬»¹Ö§³Ö´´½¨°²È«ÐÔÁîÅÆ·þÎñ (Security Token Service)£¬¸Ã·þÎñΪÁ½¸öÖÕ½áµãÖ®¼äµÄͨÐŰ䷢ÉÏÏÂÎÄÁîÅÆ¡£

¡¡¡¡¶ÔÓÚÏûÏ¢´¦Àí£¬ÎÒÃǽöÌÖÂÛÁ˶Է¢ËÍÒì²½ TCP ÏûÏ¢µÄÖ§³Ö£¬Æäʵ¶Ôͬ²½ÇëÇó/ÏìÓ¦µÄÖ§³ÖÒ²ÊÇͬÑù³öÉ«¡£¸ÃÖ§³ÖʹÓà SoapMethod ÊôÐÔ£¬ÀàËÆÓÃÓÚ .asmx Web ·þÎñµÄ WebMethod ÊôÐÔ£¬¶øÇÒ²Ù×÷Ò²ÏàËÆ¡£´ËÍ⻹֧³ÖÔÚµ¥¶ÀµÄÓ¦ÓóÌÐò¿Õ¼äÖе÷Ó÷þÎñ£¬ÕâËÆºõ²»ÊǺܺ㬵« Windows ÏûÏ¢±Ã£¨´´½¨´°Ê½Ó¦ÓóÌÐòµÄ»ù´¡£©Í¬Ñù»ùÓÚÔÚµ¥¶ÀµÄÓ¦ÓóÌÐò¿Õ¼äÖз¢ËÍÏûÏ¢¡£

¡¡¡¡WSE 2.0 ¸üΪÎüÒýÈ˵ĵط½Ö®Ò»ÊǾßÓÐÐí¶à¿ÉÀ©Õ¹µã¡£Äú¿ÉÒÔ×öÈκÎÊÂÇ飬°üÀ¨´Ó´´½¨×Ô¼ºµÄ×Ô¶¨ÒåÁîÅÆ´¦Àí³ÌÐòµ½Ìí¼Ó×Ô¼ºµÄ²ßÂÔÖ§³Ö¡£Ïñ WSE 1.0 Ò»Ñù£¬ÄúÈÔÈ»¿ÉÒÔÀ©´ó´¦Àí·¶Î§£¬µ«¸üÖØÒªµÄÊÇÈçºÎÔÚ¸ü¸ßµÄ²ã´ÎÉÏǰ½ø²¢ÀûÓÃÒÑÓеŤ×÷¡£


¹Ø±Õ±¾Ò³
 
Ê×Ò³ | Ͷ×ÊÓëºÏ×÷ | ·þÎñÌõ¿î | Òþ˽Õþ²ß | Êղر¾Õ¾ | ÉèΪÊ×Ò³ | ÐÂÓû§×¢²á | ÃâÔðÉùÃ÷ | ʹÓðïÖú
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn °æÈ¨ËùÓÐ