| | | ÈçºÎÔöÇ¿ASP³ÌÐòÐÔÄÜ(2) | | 2000-08-11¡¤
¡¤±àÒ룺¸Ê¼½Æ½¡¤¡¤Yesky
| b>¼¼ÇÉ6£º´ÏÃ÷µØÊ¹ÓÃSession¶ÔÏó
¡¡¡¡SessionÔÚ·±Ã¦Õ¾µãÉÏʹÓÃʱÓм¸¸öȱÏÝ¡£·±Ã¦µÄÒâ˼ÊÇ£ºÕ¾µãÉÏÿÃëÓÐÉϰٵÄÒ³Ãæ±»ÇëÇ󣬻òÕßͬʱÓÐÉÏǧµÄ·ÃÎÊÓû§¡£Õâ¸ö¼¼ÇɶÔÓÚÄÇЩҪÇóˮƽÀ©Õ¹Ç¿µÄÕ¾µã·Ç³£ÖØÒª£¬Ò²¾ÍÊÇÖ¸ÕâЩվµã£ºËüÃÇÀûÓöà¸ö·þÎñÆ÷Íê³ÉÊý¾Ý×°ÔØ»òÕß´¦Àí´óÁ¿ÈÝ´í¡£¶ÔÓÚСÐÍÕ¾µã£¬±ÈÈçÄÚ²¿ÍøIntranet£¬SessionÊǷdz£ÖµµÃÌᳫµÄ¡£
¡¡¡¡ÔÙ´ÎÖØÉ꣬ASP×Ô¶¯µØÎªÃ¿Ò»¸öÊ״εã»÷Web·þÎñÆ÷µÄÓû§´´½¨Ò»¸öSession£¬Ã¿Ò»¸öSessionÕ¼ÓдóÔ¼10KBµÄÄڴ棬Éú´æÆÚĬÈÏÊÇ20·ÖÖÓ¡£
¡¡¡¡Ê¹ÓÃSession×î´óµÄÎÊÌâ²»ÊÇÐÔÄÜ£¬¶øÊÇÀ©Õ¹ÐÔ£¬Session²»ÄÜ¿çÔ½¶à¸öWeb·þÎñÆ÷£¬Ò»µ©ÔÚÒ»¸ö·þÎñÆ÷ÉÏ´´½¨ÁËSession£¬ËüµÄÊý¾Ý¾ÍפÁôÔÚÄÇÀï¡£ÕâÒâζ×Å£¬Èç¹ûÔÚWebÉÏʹÓÃSession£¬Äã¾ÍµÃΪÿһ¸öÖ±½Ó·ÃÎÊ´æ·ÅSession·þÎñÆ÷µÄÓû§ÇëÇóÉè¼ÆÒ»¸ö²ßÂÔ¡£Õâ¾ÍÊǽ«Óû§¡°Õ³¡±ÔÚWeb·þÎñÆ÷ÉÏ£¬ÊõÓï¡°sticky sessions¡±¾ÍÀ´Ô´ÓÚ´Ë¡£Èç¹ûWeb·þÎñÆ÷Óöµ½Õϰ£¬¡°Stuck¡±Óû§¾Í»á¶ªÊ§ËûÃǵÄSession״̬£¬ÒòΪSession²»±£ÁôÔÚ´ÅÅÌÉÏ¡£
¡¡¡¡Ö´ÐÐÕ³ÐÔsessionµÄ²ßÂÔ°üÀ¨Ó²¼þÓëÈí¼þ½â¾ö·½Ê½£¬±ÈÈçwindows2000¸ß¼¶·þÎñÆ÷ÖÐµÄ Network
Load Balancing ÒÔ¼°Cisco¹«Ë¾µÄLocal Director£¬µ«»»È¡ÕâЩҪÎþÉüÒ»¶¨µÄÀ©Õ¹ÐÔ¡£
¡¡¡¡Application¶ÔÏóÒ²²»ÄÜ¿çÔ½·þÎñÆ÷¡£Èç¹ûÐèÒªÔÚWebȺÖй²Ïí²¢¸üÐÂApplicationÊý¾Ý£¬¾ÍÐèҪʹÓúǫ́Êý¾Ý¿â¡£È»¶ø£¬Ö»¶ÁApplicationÊý¾ÝÔÚWebȺÖÐÈÔÈ»ºÜÓÐÓá£
¡¡¡¡Ðí¶à¶ÔÈÎÎñÒªÇóÑϸñµÄÕ¾µã¶¼ÒªÉèÁ¢ÖÁÉÙ2¸öWeb·þÎñÆ÷£¬ËùÒÔÔÚÉè¼ÆÑϸñÈÎÎñµÄÓ¦ÓóÌÐòʱ£¬¾ÍÐèÒªÖ´ÐС°sticky sessions¡±£¬»òÕß¼òµ¥µØ±ÜÃâʹÓÃSession£¬Í¬Ê±Ò²¿ÉÒÔ²ÉÈ¡ÆäËû±£´æÓû§×´Ì¬µ½¶ÀÁ¢Web·þÎñÆ÷µÄ¹ÜÀí¼¼Êõ¡£
¡¡¡¡Èç¹û²»Ê¹ÓÃSession£¬Ò»¶¨ÒªÈ·ÈϽ«ËüÃǹرգ¬Õâ¿ÉÒÔͨ¹ýInternet·þÎñ¹ÜÀíÆ÷ʵÏÖ¡£Èç¹û¾ö¶¨Ê¹ÓÃSession£¬¿ÉÒÔͨ¹ý¼¸ÖÖ·½·¨À´×îС»¯ËüÃǵÄÓ°Ïì¡£
¡¡¡¡¿ÉÒÔ½«²»ÐèÒªSessionµÄÄÚÈÝ£¨±ÈÈç°ïÖú»Ã棬·ÃÎÊÕßÇøÓò£¬µÈµÈ£©Òƶ¯µ½¹Ø±ÕSessionµÄ¶ÀÁ¢ASPÓ¦ÓóÌÐòÖС£ÔÚ»ù´¡Ò³ÃæÉÏ£¬¿ÉÒÔ¸øASPÒ»¸öָʾ£¬ÈÃËü²»ÐèҪʹÓÃSession¡£½«ÏÂÃæµÄ´úÂëÖ±½Ó¼ÓÈëµ½ASPÒ³ÃæµÄÍ·²¿£º
$#@60;% @EnableSessionState=False %$#@62;
¡¡¡¡Ê¹ÓÃÕâ¸öָʾµÄÒ»¸öºÜºÃµ ÊÍÊÇÔÚ¿ò¼Ü½á¹¹ÖÐSession´´½¨ÁËÒ»¸öÓÐȤµÄÎÊÌâ¡£ASPÈ·±£ÔÚÒ»¸öʱ¿ÌÖ»ÓÐÒ»¸öÀ´×ÔSessionµÄÇëÇó±»Ö´ÐУ¬Õâ¾ÍÈ·±£ÁËÈç¹ûä¯ÀÀÆ÷Ϊµ¥¸öÓû§ÇëÇó¶à¸öÒ³ÃæÊ±£¬Ö»ÓÐÒ»¸öASPÇëÇóÔÚÄÇʱÄܹ»½ÓÊÜSession£¬Èç´Ë¾Í±ÜÃâÁË´æÈ¡Session¶ÔÏóʱµÄ¶àÏß³ÌÎÊÌâ¡£ºÜ²»ÐÒ£¬ÔÚ¿ò¼Ü½á¹¹ÖеÄËùÓÐÒ³Ãæ½«°´ÕÕÁ¬ÐøµÄ˳ÐòÏÔʾ³öÀ´£¬Ò»¸ö½ÓÒ»¸ö£¬¶ø²»ÊÇͬʱ£¬ËùÒÔÓû§ÎªÁË¿´µ½Õû¸ö¿ò¼Ü±ØÐëÒªµÈºÜ³¤Ê±¼ä¡£¹æÔòÊÇ£ºÈç¹ûÒ»¶¨µÄ¿ò¼ÜÒ³ÃæÃ»ÓÐʹÓÃSession£¬¾ÍÒ»¶¨Òª¸æËßASPÖ±½ÓʹÓÃ@EnableSessionState=False¡£
¡¡¡¡³ýÁËʹÓÃSession¶ÔÏ󣬻¹ÓÐÐí¶àÆäËû¹ÜÀí»á»°×´Ì¬µÄÑ¡Ôñ¡£¶ÔÓÚСÊýÁ¿µÄ״̬£¨Ð¡ÓÚ4KB£©£¬ÎÒÃÇͨ³£½¨ÒéʹÓÃcookie¡¢²éѯ×Ö·û´®±äÁ¿ÒÔ¼°±íµ¥Òþ²ØÓò¡£¶ÔÓÚÏó¹ºÎï³µÒ»ÑùµÄ´óÊýÁ¿Êý¾Ý£¬ºǫ́Êý¾Ý¿âÊÇ×îºÏÊʵÄÑ¡Ôñ¡£
¼¼ÇÉ7£º½«´úÂë×°ÈëCOM¶ÔÏóÖÐ
¡¡¡¡Èç¹ûÒª±àдºÜ¶àVBScript»òÕßJScript£¬ÎªÁËÌá¸öÐÔÄÜ£¬¿ÉÒÔ½«´úÂë±àд³ÉCOM¶ÔÏó²¢ÇÒ±àÒëʹÓᣱàÒë´úÂë»ù±¾ÉϱȽâÊÍÐÔ´úÂëÔËÐпìÐí¶à£¬±àÒë×é¼þ¶ÔÏó¿Éͨ¹ý¡°early binding¡±´æÈ¡ÆäËûCOM¶ÔÏó£¬Õâ±ÈÔڽű¾Öе÷ÓÃ×é¼þÒªÓÐЧ¡£
Õâô×öÓÐÐí¶àÓŵ㣺
- COM¶ÔÏóÓÐÒæÓÚ´ÓÉÌÒµ¹æÔòÖжÀÁ¢³ö±í´ïʽ¹æÔò
- COM¶ÔÏóʹ´úÂëÖØÓñäΪ¿ÉÄÜ
- Ðí¶à¿ª·¢Õß·¢ÏÖÓÃVB£¬C£«£«»òÕßVisual J£«£«±àд³ÌÐò£¬±ÈASP¸üÈÝÒ×µ÷ÊÔ
¡¡¡¡COM¶ÔÏóÒ²ÓÐȱµã£¬°üÀ¨³õʼ¿ª·¢Ê±¼äºÍ¶Ô²»Í¬±à³Ì¼¼ÇɵÄÐèÒª¡£×¢Ò⽫ÉÙÁ¿ASP´úÂë×ö³ÉCOM¶ÔÏó×é¼þ²»»áÓкô¦£¬·´¶ø¿ÉÄܵ¼ÖÂÐÔÄܵÄËðʧ£¬´Ó¶øÊ§È¥Á˱àÒë´úÂëµÄÓÅÊÆ¡£ÔõÑù×éºÏʹÓÃASP½Å±¾ºÍCOM¶ÔÏó´ïµ½×î¼ÑÐÔÄÜÊÇÒ»¸ö²âÊÔµÄÎÊÌâ¡£ÎÒÃÇ×¢Ò⵽΢Èí¹«Ë¾ÒѾ´ó¹æÄ£ÔÚWindows 2000/IIS 5.0ÉÏÌá¸ßÁ˽ű¾ÓëADOµÄÐÔÄÜ£¬ÓÉ´Ë£¬Ëæ×ÅIIS5.0°æ±¾µÄÒý½ø£¬¼õÉÙÁ˱àÒë´úÂëµÄÐÔÄÜÓÅÊÆ¡£
¼¼ÇÉ8£ºÊ¹ÓÃOption Explicit
¡¡¡¡ÒªÔÚASPÎļþÖÐʹÓÃOption Explicit¶¨Ò壬²¢ÇÒ·ÅÖõ½ASPÎļþµÄÍ·²¿£¬´Ó¶øÇ¿ÆÈ¿ª·¢ÕßÔÚʹÓÃǰÉùÃ÷ËùÓеıäÁ¿¡£Ðí¶à³ÌÐòÔ±¶¼ÈÏΪÕâÔÚÓ¦ÓóÌÐòµ÷ÊÔʱ·Ç³£ÓÐÓã¬ÒòΪËü±ÜÃâÁ˲úÉú´íÎóÀàÐͱäÁ¿ÒÔ¼°Å¼È»´´½¨Ð±äÁ¿µÄ¿ÉÄÜ¡£
Ò²Ðí¸üÖØÒªµÄÊÇ£¬ÉùÃ÷µÄ±äÁ¿Òª´ó´ó¿ìÓÚ·ÇÉùÃ÷±äÁ¿¡£
¼¼ÇÉ9£º¿½±´¾³£Ê¹ÓõÄÊý¾Ýµ½½Å±¾±äÁ¿ÖÐ
¡¡¡¡ÔÚASPÖдæÈ¡COM¶ÔÏóʱ£¬Ó¦¸Ã¿½±´¾³£Ê¹ÓõĶÔÏóÊý¾Ýµ½½Å±¾±äÁ¿ÖУ¬ÕâÑù¾Í¼õÉÙÁ˶ÔCOM¶ÔÏóµÄ·½·¨µ÷Óá£ÕâЩµ÷ÓÃÒª±È´æÈ¡½Å±¾±äÁ¿Ïà¶ÔÀ´Ëµ·Ñʱ·ÑÁ¦¡£µ±´æÈ¡CollectionºÍDictionary¶ÔÏóʱ£¬Ê¹ÓÃÕâÏî¼¼ÇÉÒ²¼õÉÙÁ˰º¹óµÄ²éÕÒ²Ù×÷¡£
¡¡¡¡Í¨³££¬Èç¹ûÒª²»Ö¹Ò»´ÎµØ´æÈ¡¶ÔÏóÊý¾Ý£¬¾ÍÓ¦½«Êý¾Ý·ÅÈë½Å±¾±äÁ¿ÖУ¬¶ÔÏóÊý¾ÝÖ÷ÒªÒ²¾ÍÊÇRequest±äÁ¿£¨±íµ¥ºÍ²éѯ×Ö·û´®±äÁ¿£©¡£±ÈÈ磬վµãÒª´«µÝÒ»¸ö½Ð×öUserIDµÄ²éѯ×Ö·û´®±äÁ¿£¬¼ÙÉèËü½«ÔÚÒ»¸öÌØÊâÒ³Ãæ±»ÒýÓÃ12´Î£¬ÄÇô²»ÐèÒªµ÷ÓÃRequest£¨¡°UserID¡±£©12´Î£¬Ö»ÒªÔÚASPÒ³ÃæµÄÍ·²¿·ÖÅ䏸UserIDÒ»¸ö±äÁ¿£¬È»ºóÔÚÒ³ÃæÖÐʹÓÃËü£¬ÕâÑù×ö¾Í½ÚÊ¡ÁË11´ÎCOM·½·¨µÄµ÷Óá£
¡¡¡¡Êµ¼ÊÖУ¬´æÈ¡COMÊôÐÔ»ò·½·¨ÊǺܰº¹óµÄ£¬ÏÂÃæµÄÀý×ÓչʾÁËͨÓôúÂ룺
Foo.bar.blah.baz = Foo.bar.blah.qaz(1)
If Foo.bar.blah.zaq = Foo.bar.blah.abc Then ...
ÉÏÃæµÄ´úÂëÖ´Ðк󣬷¢ÉúÒÔÏÂÊÂÇ飺
1¡¢±äÁ¿Foo±»µ±×÷È«¾Ö¶ÔÏó
2¡¢±äÁ¿bar±»µ±×÷FooµÄÒ»Ô±
3¡¢±äÁ¿blah±»µ±×÷Foo.barµÄÒ»Ô±
4¡¢±äÁ¿qaz±»µ±×÷Foo.bar.blahµÄÒ»Ô±
5¡¢µ÷ÓÃFoo.bar.blah.quaz(1)
6¡¢ÔÙÖ´Ðв½Öè1µ½3·Ö½âbaz
7¡¢·Ö½âbaz×öΪFoo.bar.blahµÄÒ»Ô±
8¡¢ÔÙÖ´Ðв½Öè1µ½3·Ö½âzaq
9¡¢ÔÙÖ´Ðв½Öè1µ½3Ò»´Î·Ö½âabc
ÈçÉÏËùʾ£¬Õâ·Ç³£Ã»ÓÐЧÂʲ¢ÇÒºÜÂý¡£¸ü¿ìµÄ·½·¨ÊÇÓÃVBScript±àд´úÂ룬ÈçÏ£º
Set myobj = Foo.bar.blah do the resolution of blah ONCE
Myobj.baz = myobj.qaz(1)
If Myobj.zaq = Myobj.abc Then ...
Èç¹ûʹÓÃVBScript 5.0»òÕ߸ü¸ß°æ±¾£¬¿ÉÒÔÓÃWithÓï¾ä±àд£º
With Foo.bar.blah
.baz = .qaz(1)
If .zaq = .abc Then ...
...
End With
×¢Ò⣺Õâ¸ö¼¼ÇÉÒ²¿ÉÒÔÓ¦ÓÃÔÚVB±à³ÌÖС£
¼¼ÇÉ10£º±ÜÃâÔÙ¶¨ÒåÊý×é
¡¡¡¡ÕùÈ¡²»ÒªÔÙ¶¨ÒåÊý×é¡£¿¼Âǵ½ÐÔÄÜÎÊÌ⣬Èç¹û»úÆ÷µÄÎïÀíÄÚ´æ´óС²»¹»£¬×îºÃ°´×î²îÇé¿ö»òÕß×î¼ÑÇé¿öÉèÖÃÊý×éµÄ³õʼ³ß´ç£¬ÐèҪʱÔÙÖØÐ¶¨Òå¡£
ÏÂÃæµÄ´úÂëչʾÁËDimºÍRedimµÄʹÓãº
< %
Dim MyArray()
Redim MyArray(2)
MyArray(0) = "hello"
MyArray(1) = "good-bye"
MyArray(2) = "farewell"
...
some other code where you end up needing more space happens, then ...
Redim Preserve MyArray(5)
MyArray(3) = "more stuff"
MyArray(4) = "even more stuff"
MyArray(5) = "yet more stuff"
% >
¡¡¡¡¼òµ¥µØ¶¨ÒåÊý×é³õʼ³ß´çΪºÏÊʵĴóСÊǷdz£ºÃµÄ£¬¶ø²»ÒªÓÃRedim¼Ó´óÊý×é¡£Õâô×öÒ²ÐíÀË·ÑÁËһЩÄڴ棨Èç¹ûûÓÐÍêÈ«µØÊ¹Óÿռ䣩£¬µ«ÊÇÓ®µÃÁËËÙ¶È¡£
| | | ¸Ðл
·ÃÎÊÌì¼«Íø£¬Èç¹ûÄú¾õµÃ¸ÃÎÄÕÂÉæ¼°°æÈ¨ÎÊÌ⣬Çë¿´ÕâÀ
|
|