¡¡¡¡¼¼ÇÉ1£º½«³£ÓÃÊý¾ÝÔÚWeb·þÎñÆ÷¶Ë»º´æÆðÀ´ ¡¡¡¡´ó²¿·ÖµÄASPÒ³Ãæ¶¼Òª´Óºǫ́Êý¾Ý¿âÖÐÌáÈ¡Êý¾Ý£¬È»ºó½«Êý¾ÝÓÃHTML·½Ê½±íÏÖ³öÀ´¡£ ²»¹ÜÄãµÄÊý¾Ý¿â¶àô¿ì£¬´ÓÄÚ´æÖÐÌáÈ¡Êý¾Ý×ܱȴӺǫ́Êý¾Ý¿âÖÐÌáÈ¡¿ì£»´Ó±¾µØÓ²ÅÌÖжÁÈ¡Êý¾Ýͨ³£Ò²±È´ÓÊý¾Ý¿âÖп졣Òò´Ë£¬Äã¿ÉÒÔͨ¹ýÔÚWeb·þÎñÆ÷¶Ë»º´æÊý¾ÝÀ´Ìá¸ßÐÔÄÜ¡£ ¡¡¡¡»º´æÊǸöµäÐ͵ÄÒԿռ任ȡʱ¼äµÄ½»Òס£Èç¹ûÄãÕýÈ·µÄ»º´æÁËÊý¾Ý£¬ÐÔÄÜ¿ÉÄÜ»áÍ»·ÉÃͽø¡£ÒªÏëÒ»¸ö»º´æÄÜÕæÕý·¢»ÓÐ§Òæ£¬±ØÐ뻺³åÄÇЩ³£ÓúͼÆË㸴ÔÓµÄÊý¾Ý¡£×°Âú¹ýÆÚÊý¾ÝµÄ»º³åÇøÖ»ÄÜÀË·ÑÄÚ´æ¡£ ¡¡¡¡²»¾³£±ä»¯µÄÊý¾ÝÒ²ÊÇ»º´æµÄÒ»¸öÁ¼ºÃºòÑ¡Õߣ¬ÒòΪÄã¿ÉÒÔ²»ÓùØÐÄͬÊý¾Ý¿âÖеÄÊý¾Ý±£³Öͬ²½¡£ÏÂÀÁбí¿ò¡¢ÒýÓÃ±í¡¢Ð¡¶ÎDHTML´úÂ룬XML×Ö·û´®¡¢²Ëµ¥ÏîºÍÕ¾µãÅäÖñäÁ¿£¨°üÀ¨Êý¾ÝÔ´Ãû×Ö£¨DSN£©£¬IPµØÖ·ºÍWeb·¾¶£©¶¼ÊǺܺõĻº´æºòÑ¡Õß¡£×¢Ò⣬²»½ö½ö¿ÉÒÔ»º´æÊý¾Ý±¾Éí£¬»¹¿ÉÒÔ»º´æÊý¾ÝµÄ±íÏÖ¡£Èç¹ûÒ»¸öASPÒ³ÃæºÜÉٱ仯£¬²¢ÇÒ»º´æ´ú¼Û±È½Ï¸ß£¨±ÈÈ磬²úÆ·ÁÐ±í£©£¬¿ÉÒÔ¿¼ÂÇÓþ²Ì¬HTMLÒ³Ãæ¡£ ¡¡¡¡¼¼ÇÉ2£ºÓÃApplication¶ÔÏó»òSession¶ÔÏ󻺴泣ÓÃÊý¾Ý ¡¡¡¡ASPµÄApplicationºÍSession¶ÔÏóÊÇÒ»¸ö¼«Æä·½±ãµÄÔÚÄÚ´æÖлº´æÊý¾ÝµÄÈÝÆ÷¡£Äã¿ÉÒÔ°ÑÊý¾Ý·Åµ½Application»òSession¶ÔÏóÖУ¬ÕâЩÊý¾Ý¾Í»áÔÚÕû¸öHTTPµ÷ÓÃÖÐÒ»Ö±´æÔÚ¡£Ã¿¸öÓû§ÓÐ×Ô¼ºµÄSession¶ÔÏóÖеÄÊý¾Ý£¬¶øApplication¶ÔÏóÖеÄÊý¾Ý¿ÉÒÔÔÚËùÓÐÓû§Öй²Ïí¡£ ¡¡¡¡Ó¦¸ÃÔÚʲôʱºò½«Êý¾Ý×°ÈëApplication»òSessionÖÐÄØ£¿Í¨³££¬Êý¾ÝÔÚApplication»òSessionÆô¶¯µÄʱºò×°Èë¡£ÒªÏëÔÚApplication»òSessionÆô¶¯µÄʱºò×°ÈëÊý¾Ý£¬ÐèÒª·Ö±ðÔÚGlobal.asaµÄApplication_OnStart()»òSession_OnStart()ÖÐÌí¼ÓÊʵ±µÄ´úÂ룻Èç¹ûGlobal.asaÖÐûÓÐÕâÁ½¸öº¯Êý£¬Äã¿ÉÒÔÊÖ¹¤Ìí¼Ó¡£Ò²¿ÉÒÔÔÚÊý¾ÝµÚÒ»´ÎʹÓõÄʱºò½«Æä×°Èë¡£ÒªÏëÕâÑù£¬Ó¦¸ÃÔÚASPÒ³ÃæÖÐдһЩ´úÂ루»òÊÇдһ¸ö¿ÉÖØÓõĽű¾º¯Êý£©À´¼ì²éÊý¾ÝÊÇ·ñ´æÔÚ²¢ÇÒÈç¹ûÊý¾Ý²»´æÔÚÔò½«Æä×°ÈëÄÚ´æ¡£ÏÂÃæÊÇÒ»¸ö¾µäµÄÐÔÄܵ÷Õû¼¼Êõ--Lazy Evaluation£º <% Function GetEmploymentStatusList ¡¡Dim d ¡¡d = Application("EmploymentStatusList") ¡¡If d = "" Then ¡¡¡¡¡¡' FetchEmploymentStatusList function (not shown) ¡¡¡¡¡¡' fetches data from DB, returns an Array ¡¡¡¡¡¡d = FetchEmploymentStatusList() ¡¡¡¡¡¡Application("EmploymentStatusList") = d ¡¡End If ¡¡GetEmploymentStatusList = d End Function %> Similar functions could be written for each chunk of data needed. In what format should the data be stored? Any variant type can be stored, since all script variables are variants. For instance, you can store strings, integers, or arrays. Often, you¡¯ll be storing the contents of an ADO recordset in one of these variable types. To get data out of an ADO recordset, you can manually copy the data into VBScript variables, one field at a time. It¡¯s faster and easier to use one of the ADO recordset persistence functions GetRows(),GetString () or Save() (ADO 2.5). Full details are beyond the scope of this article, but here¡¯s a function that demonstrates using GetRows() to return an array of recordset data: ' »ñÈ¡¼Ç¼¼¯£¬·µ»ØÊý×é Function FetchEmploymentStatusList ¡¡Dim rs ¡¡Set rs = CreateObject("ADODB.Recordset") ¡¡rs.Open "select StatusName, StatusID from EmployeeStatus", _ ¡¡¡¡¡¡¡¡¡¡"dsn=employees;uid=sa;pwd=;" ¡¡FetchEmploymentStatusList = rs.GetRows() ' ½«¼Ç¼¼¯ÓÃÊý×é·µ»Ø ¡¡rs.Close ¡¡Set rs = Nothing End Function A further refinement of the above might be to cache the HTML for the list, rather than the array. Here¡¯s a simple sample: ' »ñÈ¡¼Ç¼¼¯£¬·µ»ØHTML OptionÁбí Function FetchEmploymentStatusList ¡¡Dim rs, fldName, s ¡¡Set rs = CreateObject("ADODB.Recordset") ¡¡rs.Open "select StatusName, StatusID from EmployeeStatus", _ ¡¡¡¡¡¡¡¡¡¡"dsn=employees;uid=sa;pwd=;" ¡¡s = "<select name=""EmploymentStatus">" & vbCrLf ¡¡Set fldName = rs.Fields("StatusName") ' ADO ×Ö¶Î°ó¶¨ ¡¡Do Until rs.EOF ¡¡¡¡s = s & " <option>" & fldName & "</option>" & vbCrLf ¡¡¡¡rs.MoveNext ¡¡Loop ¡¡s = s & "</select>" & vbCrLf ¡¡rs.Close ¡¡Set rs = Nothing ' ÊÍ·Års ¡¡FetchEmploymentStatusList = s ' ÓÃ×Ö·û´®·½Ê½·µ»ØÊý¾Ý End Function ¡¡¡¡ÔÚÕýÈ·Çé¿öÏ£¬Äã¿ÉÒÔ½«ADO¼Ç¼¼¯±¾Éí»º´æÔÚApplication»òSession·¶Î§£¬µ«±ØÐëÂú×ãÏÂÃæÁ½¸öÌõ¼þ£º .ADO±ØÐë±»±ê¼ÇΪ×ÔÓÉÏß³ÌÄ£ÐÍ£¨Free-threaded) .±ØÐëʹÓÃÎÞÁ¬½Ó¼Ç¼¼¯ ¡¡¡¡Èç¹û²»ÄÜÂú×ãÉÏÃæÁ½¸öÌõ¼þ£¬Ò»¶¨²»Òª»º´æ¼Ç¼¼¯¡£ÔÚÏÂÃæµÄ¡°²»Áé»îµÄ×é¼þ¡±ºÍ¡°²»Òª»º´æConnection¡±Á½¸ö¼¼ÇÉÖУ¬ÎÒÃǽ«ÌÖÂÛÔÚApplicationºÍSessionÖб£´æCOM¶ÔÏóµÄΣÏÕÐÔ¡£ ¡¡¡¡µ±ÄãÔÚApplication»òSessionÖд洢Êý¾Ýºó£¬Êý¾Ý½«Ò»Ö±±£´æ£¬ÖªµÀÄãµÄ³ÌÐò¸Ä±äËü£¬»òÊÇSession¹ýÆÚ£¬»òÊÇWeb·þÎñÖØÐÂÆô¶¯¡£What if the data needs to be updated?ÊÖ¹¤Ë¢ÐÂApplicationÊý¾Ý£¬¿ÉÒÔµ÷ÓÃÖ»ÓйÜÀíÔ±²Å¿É·ÃÎʵÄÓÃÀ´Ë¢ÐÂÊý¾ÝµÄASPÒ³Ãæ£»»òÕß¶¨ÆÚµÄͨ¹ýÒ»¸öº¯ÊýÀ´ÖÜÆÚÐԵĸüÐÂÊý¾Ý¡£ÏÂÃæµÄÀý×ÓÔÚ»º´æÊý¾ÝÖб£´æÁËÒ»¸öʱ¼ä´Á£¬È»ºóÒ»¶Îʱ¼äÖ®ºó×Ô¶¯Ë¢ÐÂÊý¾Ý¡£ <% Const UPDATE_INTERVAL = 300 ' ˢмä¸ô£¬µ¥Î»ÊÇÃë '·µ»Ø¹ÍԱ״̬Áбí Function GetEmploymentStatusList ¡¡UpdateEmploymentStatus ¡¡GetEmploymentStatusList = Application("EmploymentStatusList") End Function 'ÖÜÆÚÐԵĸüлº´æÖеÄÊý¾Ý Sub UpdateEmploymentStatusList ¡¡Dim d, strLastUpdate ¡¡strLastUpdate = Application("LastUpdate") ¡¡If (strLastUpdate = "") Or _ ¡¡¡¡¡¡¡¡(UPDATE_INTERVAL < DateDiff("s", strLastUpdate, Now)) Then ¡¡¡¡¡¡' Note: two or more calls might get in here. This is okay and will simply ¡¡¡¡¡¡' result in a few unnecessary fetches (there is a workaround for this) ¡¡¡¡¡¡' FetchEmploymentStatusList function (not shown) ¡¡¡¡¡¡' fetches data from DB, returns an Array ¡¡¡¡¡¡d = FetchEmploymentStatusList() ¡¡¡¡¡¡' ¸üÐÂApplication¶ÔÏóʱÓÃApplication.Lock()À´±£³ÖÊý¾ÝÒ»ÖÂÐÔ ¡¡¡¡¡¡Application.Lock ¡¡¡¡¡¡Application("EmploymentStatusList") = Events ¡¡¡¡¡¡Application("LastUpdate") = CStr(Now) ¡¡¡¡¡¡Application.Unlock ¡¡End If End Sub ¡¡¡¡ÒªÖªµÀÔÚSession»òApplicationÖлº´æ´óÊý×é²¢²»ÊÇÒ»¸öÌ«ºÃµÄ·½·¨¡£ÔÚ·ÃÎÊÊý×éÖеÄÈκÎÔªËØÖ®Ç°£¬½Å±¾½âÊÍÆ÷¶¼ÐèÒªÉú³ÉÒ»¸öÁÙʱµÄÕû¸öÊý×éµÄ¸±±¾¡£ÀýÈ磬Èç¹ûÄ㻺´æÁËÒ»¸ö100,000¸ö×Ö·û´®ÔªËصÄÊý×飬ÓÃÀ´½«ÓÊÕþ±àÂëºÍµ±µØµÄÌìÆø¶ÔÓ¦Ò»Ò»ÆðÀ´£¬ÔÚ·ÃÎÊÊý×éÖÐÈκÎÒ»¸ö×Ö·û´®Ö®Ç°£¬ASP½âÊÍÆ÷Ê×ÏȱØÐë¸´ÖÆËùÓеÄ100,000¸öÌìÆøÇé¿öÊý¾Ýµ½Ò»¸öÁÙʱÊý×éÖС£ÔÚÕâÖÖÇé¿öÏ£¬¿ª·¢Ò»¸ö×é¼þÀ´´¢´æÌìÆøÇé¿öÊý¾Ý»òÊÇʹÓôʵ䣨Dictioary£©¶ÔÏó¸üΪºÏÊÊÒ»µã¡£²»¹ý£¬Ò²²»ÒªÒòСʧ´ó£¬Êý×é¶ÔÏóµÄµÄ²éÕÒËٶȸü¿ì¡£Ë÷ÒýÒ»¸ö´Êµä±ÈË÷ÒýÒ»¸öÊý×éÂý¡£Äã¿ÉÒÔÒòÄãµÄÇé¿ö¶øÒË£¬Ñ¡ÔñºÏÊʵÄÊý¾Ý½á¹¹¡£ ¡¡¡¡¼¼ÇÉ3£ºÔÚÓ²ÅÌÉÏ»º´æÊý¾ÝºÍHTMLÒ³Ãæ ¡¡¡¡ÓÐʱ£¬¿ÉÄÜÓÐÌ«¶àµÄÊý¾Ý»º´æÔÚÄÚ´æÖС£¡°Ì«¶à¡±ÊǸöÄ£ºýµÄ˵·¨£¬ËüÈ¡¾öÓëWeb·þÎñÆ÷µÄÄÚ´æ´óС¡¢»º´æÏîµÄÊýÄ¿ºÍÕâЩ»º´æÏî±»·ÃÎÊµÄÆµ¶È¡£ÎÞÂÛÈçºÎ£¬Èç¹ûÌ«¶àµÄÊý¾ÝÔÚÄÚ´æÖлº´æ£¬¿ÉÒÔ¿¼Âǽ«Êý¾ÝÓÃÎı¾»òXMLÎļþ»º´æµ½Web·þÎñÆ÷µÄÓ²ÅÌÉÏ¡£¿ÉÒÔ½«»º´æµ½Ó²ÅÌÉϺ͵½ÄÚ´æÖнáºÏÆðÀ´£¬Õë¶ÔÄãµÄÕ¾µã£¬ÕÒµ½×îÓÅ»¯µÄ²ßÂÔ¡£ ¡¡¡¡×¢Ò⣬µ±ÎÒÃDzâÁ¿µ¥Ò»ASPÒ³ÃæµÄÐÔÄÜʱ£¬´ÓÓ²ÅÌÉ϶ÁÈ¡Êý¾Ý¿ÉÄܱȴÓÊý¾Ý¿âÖжÁÈ¡Âý¡£µ«ÊÇ£¬»º´æÄܹ»¼õÉÙÊý¾Ý¿âºÍÍøÂçµÄ¸ºÔØ¡£Ôڸ߸ºÔصÄÇé¿öÏ£¬Õ⽫´ó´óÌá¸ß×ÜÌåÍÌÍÂÁ¿¡£µ±±»»º´æµÄÊý¾ÝÊǷdz£¸´ÔӵIJéѯ£¬±ÈÈç¶à±íÁ¬½Ó»òÊÇÒ»¸ö¸´ÔӵIJéѯ¹ý³Ì»òÒ»¸ö·Ç³£´óµÄ¼Ç¼¼¯£¬»º´æµÄЧ¹û½«·Ç³£Ã÷ÏÔ¡£ ¡¡¡¡ASPºÍCOMÌṩÁËһЩ¹¤¾ßÀ´½¨Á¢»ùÓÚÓ²Å̵Ļº´æ·½°¸¡£ADO Recordset¶ÔÏóµÄSaveºÍOpen·½·¨¿ÉÒÔ±£´æºÍ×°Èëµ½´ÅÅÌÉÏ¡£»¹ÓÐһЩÓÃÀ´·ÃÎÊÎļþµÄ×é¼þ£º .Scripting.FileSystemObjectÔÊÐíÄã´´½¨¡¢¶ÁÈ¡ºÍдÈëÎļþ¡£ .MSXML£¬Í¬IEÀ¦°óµÄ΢ÈíµÄXML½âÊÍÆ÷£¬Ö§³Ö±£´æºÍ×°ÈëXMLÎĵµ¡£ .LookupTable¶ÔÏóÊÇÒ»¸öÓÃÀ´´Ó´ÅÅÌ×°Èë¼òµ¥ÁбíµÄ·Ç³£ºÃµÄÑ¡Ôñ¡£ ¡¡¡¡×îºó£¬½«Êý¾Ý±íÏÖ»º´æÔÚÓ²ÅÌÉÏ£¬±È»º´æÊý¾Ý±¾ÉíÒªºÃ¡£Éú³ÉµÄHTML¿ÉÒÔÒ»¸ö.htm»ò.aspÎļþ±£´æÔÚÓ²ÅÌÉÏ£»³¬Á¬¿ÉÒÔÖ±½ÓÖ¸ÏòÄÇЩÎļþ¡£ÄãÒ²¿ÉÒÔÓÃһЩÉÌÒµ¹¤¾ß£¬ÈçXBuilderºÍSQL Server»¥Á¬Íø·¢²¼ÌØÐÔ£¬À´Éú³ÉºÍ´¦ÀíHTMLÎļþ¡£ÁíÍ⣬Ҳ¿ÉÒÔÓÃ#include½«HTMLƬ¶Î°üº¬µ½ASPÎļþÖУ»»¹¿ÉÒÔÓÃFileSystemObjectÀ´¶ÁÈ¡HTMLÎļþ¡£ ¡¡¡¡¼¼ÇÉ4£º±ÜÃâÔÚApplication»òSession¶ÔÏóÖлº´æCOM¶ÔÏó ¡¡¡¡ËäÈ»ÔÚApplication»òSession¶ÔÏóÖлº´æÊý¾ÝÊÇÒ»¸öºÃ×¢Ò⣬µ«»º´æCOM¶ÔÏó¿ÉÄÜ´øÀ´ÑÏÖØµÄºó¹û¡£ÔÚApplication»òSession¶ÔÏóÖлº´æ³£ÓÃCOM¶ÔÏó·Ç³£ÓÕÈË£¬µ«·Ç³£²»ÐÒ£¬ºÜ¶àCOM¶ÔÏ󣬰üÀ¨ÄÇЩÓÃVB 6.0»òÔçÆÚ°æ±¾Ð´µÄ×é¼þ£¬Èç¹û±»»º´æµ½ Application»òSession¶ÔÏóÖн«»áµ¼ÖÂÑÏÖØµÄÐÔÄÜÆ¿¾±¡£ ¡¡¡¡ÌØ±ðµØ£¬ËùÓзÇAgileµÄ×é¼þ±»»º´æµ½Session»òApplicationÖÐʱ£¬¶¼½«²úÉúÐÔÄÜÆ¿¾±¡£Agile×é¼þÊÇÖ¸¾ÛºÏÁËFree-threaded marshaler(FTM)²¢ÇÒÏß³ÌÄ£ÐÍÊÇBoth (ThreadingModel=Both)£¬»òÏß³ÌÄ£ÐÍÊÇNeutral(NeturalгöÏÖÔÚWindows 2000 ºÍCOM+ÖУ©µÄ×é¼þ¡£ÏÂÃæµÄ×é¼þ¶¼ÊÇ·ÇAgileµÄ£º ¡¡¡¡×ÔÓÉÏß³ÌÄ£ÐÍ×é¼þ£¨³ý·ÇËûÃǾۺÏÁËFTM£© ¡¡¡¡ApartmentÏß³ÌÄ£ÐÍ×é¼þ ¡¡¡¡µ¥Ïß³Ì×é¼þ
¡¡¡¡Configured×é¼þ£¨MTS/COM+¿âºÍ·þÎñ°ü/Ó¦Óã©ÊÇ·ÇAgileµÄ£¬³ý·ÇËüÃÇÊÇNeutralÏß³ÌÄ£Ð͵ġ£ApartmentÏß³ÌÄ£ÐÍ×é¼þºÍÆäËû·ÇAgile×é¼þ×îºÃÊǹ¤×÷ÔÚÒ³Ãæ·¶Î§ÄÚ£¨¾ÍÊÇ˵£¬ËûÃÇÔÚÒ»¸öµ¥Ò»ASPÒ³ÃæÖд´½¨ºÍÏú»Ù£©¡£ ¡¡¡¡ÔÚIIS 4.0ÖУ¬Ïß³ÌÄ£ÐÍÊÇBothµÄ×é¼þ±»¿´×÷ÊÇAgileµÄ£¬µ«ÔÚIIS 5.0ÖУ¬ËûÃDz»ÔÙÂú×ãAgileµÄÌõ¼þ¡£×é¼þÏß³ÌÄ£ÐͱØÐëÊÇBothµÄ£¬²¢ÇÒ¾ÛºÏÁËFTM£¬²Å±»¿´×÷AgileµÄ¡£Èç¹ûÊÔͼ½«Ò»¸öÓÃServer.CreateObject´´½¨µÄ·ÇAgile×é¼þ´æ´¢µ½ Application¶ÔÏóÖÐʱ£¬IIS 5.0½«»áÅ׳öÒ»¸ö´íÎó¡£ ¡¡¡¡µ±ADO×é¼þ±»±ê¼ÇΪ×ÔÓÉÏß³ÌÄ£ÐÍʱ£¬ADO¼Ç¼¼¯¶ÔÏó¿ÉÒÔ°²È«µØ´æ´¢¡£¿ÉÒÔÓÃMakfre15.bat£¬Ò»°ãÊÇ·ÅÔÚ//program Files/Common/System/ADOÕâ¸öÎļþ¼ÐÀ½«ADO×é¼þ±ê¼ÇΪ×ÔÓÉÏß³ÌÄ£ÐÍ¡£ÓÐÒ»µãҪעÒ⣺µ±ÓÃAccess×÷ºǫ́Êý¾Ý¿âʱ£¬ADO²»Äܱ»±ê¼ÇΪ×ÔÓÉÏß³ÌÄ£ÐÍ¡£´Êµä£¨Dictionary£©×é¼þÒ²ÊÇAgile¶ÔÏó¡£ ¡¡¡¡¼¼ÇÉ5£º²»Òª»º´æÊý¾Ý¿âÁ¬½Ó ¡¡¡¡»º´æADO Connection¶ÔÏóÊÇÒ»¸ö²»ºÃµÄ²ßÂÔ¡£Èç¹ûÒ»¸öConnection¶ÔÏó±»´æ´¢ÔÚ Application¶ÔÏóÖв¢±»ËùÓÐÒ³ÃæÊ¹Óã¬ËùÓÐÒ³Ãæ¾Í»áÕù×ÅʹÓÃÕâ¸öÁ¬½Ó¡£Èç¹û Connection¶ÔÏó±»´æ´¢ÔÚSession¶ÔÏóÖУ¬¾ÍҪΪÿ¸öÓû§´´½¨Ò»¸öÊý¾Ý¿âÁ¬½Ó£¬Õâ¾ÍÏû¼õÁËÁ¬½Ó³ØµÄ×÷Ó㬲¢ÇÒÔö´óÁËWeb·þÎñÆ÷ºÍÊý¾Ý¿â·þÎñÆ÷µÄѹÁ¦¡£¿ÉÒÔÓÃÔÚÿ¸öʹÓÃADOµÄASPÒ³´´½¨ºÍÊÍ·ÅADO¶ÔÏóÀ´Ìæ´ú»º´æÊý¾Ý¿âÁ¬½Ó£»ÒòΪIISÄÚ½¨ÁËÊý¾Ý¿âÁ¬½Ó³Ø£¬ËùÒÔÕâÖÖ·½·¨·Ç³£ÓÐЧ¡£ ¡¡¡¡¼ÈÈ»ÓÐÁ¬½ÓµÄ¼Ç¼¼¯±£´æÁËÒ»¸öÊý¾Ý¿âÁ¬½ÓµÄÒýÓã¬Òò´ËÒ²²»Ó¦¸ÃÔÚApplication»òSession¶ÔÏóÖб£´æÓÐÁ¬½ÓµÄ¼Ç¼¼¯¡£µ«ÊÇ£¬Äã¿ÉÒÔ°²È«µÄ»º´æÎÞÁ¬½ÓµÄ¼Ç¼¼¯£¬ÒòΪËü²¢²»°üº¬µ½Êý¾ÝÁ¬½ÓµÄÒýÓá£ÒªÏë¹Ò¶ÏÒ»¸ö¼Ç¼¼¯£¬¿ÉÒÔ²ÉÈ¡ÈçÏÂÁ½¸ö²½Ö裺 ¡¡¡¡Set rs = Server.CreateObject("ADODB.RecordSet") ¡¡¡¡rs.CursorLocation = adUseClient¡¡' µÚÒ»²½ ¡¡¡¡rs.Open strQuery, strProv ¡¡¡¡' ½«¼Ç¼¼¯Í¬Êý¾ÝÌṩÕߺÍÊý¾ÝÔ´¹Ò¶Ï ¡¡¡¡rs.ActiveConnection = Nothing¡¡¡¡'µÚ¶þ²½ ¡¡¡¡¼¼ÇÉ6£ºÕýÈ·µØÊ¹ÓÃSession¶ÔÏó ¡¡¡¡ÎÒÃÇÒѾÌáµ½ÁËÔÚApplicationºÍSessionÖлº´æÊý¾ÝµÄºÃ´¦£¬ÏÂÃæÎÒÃǽ«ËµÒ»Ð© Session¶ÔÏóµÄȱµã¡£ÔÚ·±Ã¦µÄÕ¾µãÉÏʹÓÃSessionÓÐһЩ²»ÀûµÄµØ·½¡£·±Ã¦ÊÇÖ¸Õâ¸öÕ¾µãÿÃëÖÓÒª´¦ÀíÊýÒ԰ټƵÄÒ³ÃæÇëÇó»òͬʱÁ¬½ÓÊýÒÔǧ¼ÆµÄ²¢·¢Óû§¡£Õâ¸ö¼¼ÇɶÔÄÇЩ±ØÐëҪˮƽÉìËõµÄÕ¾µã--¾ÍÊÇ˵£¬ÕâЩվµãÓöà¸ö·þÎñÆ÷À´ÊµÏÖ¸ºÔØÆ½ºâ»òÈÝ´í--·Ç³£ÖØÒª¡£¶ÔСµÄÕ¾µã£¬È繫˾ÄÚÍø£¬SessionÏà¶ÔÓëËûÏûºÄµÄ×ÊÔ´À´Ëµ£¬»¹ÊÇÖµµÃÒ»Óõġ£ ¡¡¡¡ASP×Ô¶¯ÎªÃ¿¸ö·ÃÎÊWeb·þÎñÆ÷µÄÓµ»¤´´½¨Ò»¸öSession¶ÔÏó¡£Ã¿¸öSession´óÔ¼ÏûºÄ10KµÄ×ÊÔ´£¬²¢Ê¹ËùÓеÄÇëÇó¶¼ÂýÁËÒ»µã¡£Õâ¸öSessionÔÚ³¬Ê±ÖÜÆÚÄÚÒ»Ö±´æÔÚ£¬Õâ¸öÖÜÆÚÒ»°ãÊÇ20·ÖÖÓ¡£¶ÔÓÚSessionÀ´Ëµ×î´óµÄÎÊÌâ²»ÊÇÐÔÄܶøÊÇÉìËõÄÜÁ¦¡£Session²»ÊÇ¿çWeb·þÎñÆ÷µÄ£»Ò»µ©Ò»¸öSessionÔÚij¸ö·þÎñÆ÷ÉÏ´´½¨£¬ËüµÄÊý¾Ý¶¼±£´æÔÚÄǶù¡£ ¡¡¡¡ÕâÒâζ×ÅÈç¹ûÄãÒªÔÚ¶à¸öWeb·þÎñÆ÷»·¾³ÖÐʹÓÃSession£¬Äã±ØÐëÉè¼ÆÒ»Ì×ÄÜʹÓû§×ÜÊÇ·ÃÎÊËüµÄSession¶ÔÏóËùÔÚµÄWeb·þÎñÆ÷µÄ²ßÂÔ£»¼´½«Ò»¸öÓû§Õ³µ½Ò»¸öWeb·þÎñÆ÷ÉÏ¡£Èç¹ûWeb·þÎñÆ÷±ÀÀ££¬ÒòΪSession²»ÊÇÓÀ¾Ã±£´æÔÚ´ÅÅÌÉϵĶö£¬ËùÒÔÈ«²¿¡°Õ³¡± ¡¡¡¡ÔÚÆäÉϵÄÓû§µÄSession״̬¶¼½«¶ªÊ§¡£ÊµÏÖ¡°Õ³Session(sticky session)¡±µÄ²ßÂÔ°üÀ¨Ó²¼þºÍÈí¼þ·½°¸£¬ÈçWindows 2000 Advanced ServerÖеÄNetwork Load BalancingºÍCiscoµÄLocal Director¡£µ±È»£¬ÕâЩ·½°¸²¢²»ÍêÃÀ£¬¶¼ÒªËðʧһЩ¿ÉÉìËõÐÔ¡£Application¶ÔÏóÒ²²»ÊÇ¿ç·þÎñÆ÷µÄ£¬Èç¹ûÄãÏëÔÚ¶à·þÎñÆ÷¼ä¹²ÏíºÍ¸üÐÂApplicationÊý¾Ý£¬Äã±ØÐëʹÓÃÒ»¸öºǫ́Êý¾Ý¿â¡£µ«ÎÞÂÛÈçºÎ£¬Ö»¶ÁApplicationÊý¾ÝÔÚ¶à·þÎñÆ÷»·¾³Öл¹ÊÇÊ®·ÖÓÐÓõġ£ ¡¡¡¡¾ø´ó¶àÊýÈÎÎñÓÅÏÈ£¨mission-critical£©µÄÕ¾µã¶¼ÏëÔÚÖÁÉÙÁ½Ì¨Web·þÎñÆ÷ÉÏ·¢²¼--Èç¹ûûÓбÈÑÓ³¤Õý³£ÔËÐÐʱ¼ä¸üÖØÒªµÄÀíÓɵϰ¡£Òò´Ë£¬ÔÚÉè¼Æ½×¶Î£¬Äã¾ÍҪʵÏÖ¡°Õ³Session¡±£¬»òÊǼòµ¥µØ±ÜÃâSessionºÍÆäËû½«Óû§×´Ì¬±£´æÔÚÒ»¸ö¶ÀÁ¢Web·þÎñÆ÷ÉϵÄ״̬¹ÜÀí¼¼Êõ¡£ ¡¡¡¡Èç¹û²»Ê¹ÓÃSession£¬¾Í½«ËüÃǹرգ»¿ÉÒÔͨ¹ýInternet Service Manager£¨²Î¿´ISMÎĵµ£©¹Ø±ÕÄãµÄÓ¦ÓõÄSession¹¦ÄÜ¡£Èç¹û¾ö¶¨Ê¹ÓÃSession£¬¾ÍÒªÓÃһЩ·½·¨½«ËûÃǶÔÐÔÄܵÄÓ°Ïì¼õµ½×îС¡£¿ÉÒÔ½«²»ÐèÒªSessionµÄÄÚÈÝ£¨Èç°ïÖú´°¿ÚµÈ£©ÒƵ½Ò»¸öµÄ¹Ø±ÕÁËSessionµÄASPÓ¦ÓÃÖС£Èç¹ûij¸öµ¥Ò»Ò³Ãæ²»ÐèÒªSession£¬¿ÉÒÔ½«ÏÂÃæµÄÓï¾ä·ÅÔÚÒ³ÃæµÄ¶¥²¿À´½ûÖ¹Session¹¦ÄÜ£º <% @EnableSessionState=False %> ¡¡¡¡Ê¹ÓøÃÓï¾ä»¹ÓÐÒ»¸öÔÒòÊÇSessionÔÚÖ¡Öлá²úÉúÒ»¸öÓÐȤµÄÎÊÌâ¡£ASP±£Ö¤ÈκÎʱºòÒ»¸ö»á»°Ö»ÓÐÒ»¸öÇëÇó£¬Õâ¾Íµ¼ÖÂÈç¹ûä¯ÀÀÆ÷ͬʱÇëÇó¶à¸öÒ³Ãæ£¬Í¬Ò»Ê±¿Ì½«Ö»ÓÐÒ»¸öASPÇëÇóÄܹ»·ÃÎÊSession£»Õâ±ÜÃâÁË·ÃÎÊSession¶ÔÏóʱ²úÉúµÄ¶àÏß³ÌÎÊÌ⣻µ«ºÜ²»ÐÒ£¬Ò»¸öÖ¡ÖеĶà¸öÒ³ÃæÖ»ÄÜ˳ÐòµÄÉú³É£¬Ò»¸ö½Ó×ÅÒ»¸ö£¬¶ø²»ÊDZø·¨¡£Óû§¿ÉÄÜ»áΪ¶à¸öÖ¡µÈ´ý½Ï³¤Ê±¼ä¡£ËùÒÔÈç¹ûÖ¡ÖеÄij¸öÒ³ÃæÃ»ÓÐʹÓÃSession£¬¾ÍÔÚÒ³Ãæ¶¥²¿·ÅÖÃ<% @EnableSessionState=False %>Óï¾ä¡£ ¡¡¡¡×÷ΪʹÓÃSession¶ÔÏóµÄÌæ´ú£¬»¹ÓкܶàÆäËûµÄ·½·¨À´¹ÜÀí»á»°×´Ì¬¡£¶ÔС¹æÄ£µÄ״̬£¨Ð¡ÓÚ4KB£©£¬ÍƼöʹÓÃCookies£¬QueryString±äÁ¿ºÍÒþ²Ø±íµ¥±äÁ¿¡£¶Ô´óÁ¿Êý¾Ý£¬È繺ÎïÐÅÏ¢£¬Ò»¸öºǫ́Êý¾Ý¿â¿ÉÄÜÊǺܺõÄÑ¡Ôñ¡£ ¡¡¡¡¼¼ÇÉ7£º½«´úÂë·â×°µ½COM¶ÔÏóÖÐ ¡¡¡¡Èç¹ûÓкܶàVBScript»òJScript´úÂ룬¿ÉÒÔͨ¹ý½«´úÂë·â×°µ½COM¶ÔÏóÖÐÀ´Ìá¸ßÐÔÄÜ¡£ ±àÒë¹ýµÄ´úÂëͨ³£±È½âÊÍ´úÂëÔËÐеÿ졣COM¶ÔÏó¿ÉÒÔͨ¹ý¡°Ç°ÆÚ°ó¶¨¡±À´·ÃÎÊÆäËûCOM¶ÔÏó£¬Õâ±È½Å±¾Ê¹Óõġ°ºóÆÚ°ó¶¨¡±¸ü¸ßЧ¡£ ¡¡¡¡ÏÂÃæÊǽ«´úÂëÂë·â×°µ½COM¶ÔÏóÖеÄÓŵ㣨²»½ö½öÊÇÐÔÄÜ£©£º ¡¡¡¡COM¶ÔÏó¿ÉÒԺܺõؽ«ÉÌÒµÂ߼ͬ±íÏÖÂß¼·ÖÀë ¡¡¡¡COM¶ÔÏóʹ´úÂë¿ÉÖØÓà ¡¡¡¡ÓÃVB£¬C»òVJдµÄ´úÂë±ÈASP´úÂë¸üÒ×µ÷ÊÔ ¡¡¡¡COM¶ÔÏóÒ²Óв»×㣬°üÀ¨¿ª·¢ÖÜÆÚ³¤ºÍÐèÒª²»Í¬µÄ±à³Ì¾ÑéµÈ¡£ÓÐÒ»µãÓÈÐè×¢Ò⣬·â×°ÉÙÁ¿ASP´úÂë¿ÉÄÜÔÚÐÔÄÜÉÏÊÊµÃÆä·´£»ÕâÖÖÇé¿öÏ£¬´´½¨ºÍµ÷ÓÃCOM¶ÔÏóµÄ´ú¼Û³¬¹ýÁ˱àÒë´úÂëÐÔÄÜÉϵĺô¦¡£ÈçºÎ×éºÏASP´úÂëºÍCOM×é¼þ´úÂëÀ´²úÉú×î¼ÑÐÔÄÜ£¬ÍùÍùÊǸöÁîÈËÍ·ÌÛµÄÎÊÌâ¡£×¢Ò⣬ͬWindows NT 4.0/IIS 4.0Ïà±È£¬Windows 2000/IIS 5.0Ôڽű¾ºÍADOÐÔÄÜÉÏÒѾ´ó´óÌá¸ß¡£ ¡¡¡¡¼¼ÇÉ8£º¶Ô×ÊÔ´Íí»ñÈ¡£¬ÔçÊÍ·Å ¡¡¡¡Í¨³£Çé¿öÏ£¬Íí»ñÈ¡ºÍÔçÊÍ·Å×ÊÔ´ÊÇ×îºÃµÄ¡£Õâ²»½öÊÊÓÃÓÚCOM¶ÔÏó£¬Ò²ÊÊÓÃÓÚÎļþ¾ä±úºÍÆäËû×ÊÔ´¡£ADOÁ¬½ÓºÍ¼Ç¼¼¯ÊÇÕâÏîÓÅ»¯²ßÂÔµÄÖ÷Òª¶ÔÏó¡£µ±Ê¹ÓÃÍêÒ»¸öRecordset¶ÔÏó£¬Ó¦¸ÃÁ¢¼´½«ËüÊÍ·Å£¬¶ø²»Ó¦µÈµ½Ò³Ãæ½áÊø¡£½«VBScript±äÁ¿Éè³ÉNothingÊÇ×îºÃµÄ·½·¨¡£Í¬Ê±£¬ÊÍ·ÅÏà¹ØµÄCommandºÍConnection¶ÔÏ󣨱ðÍüÁËÔÚ½«Connection¶ÔÏóÉè³ÉNothing֮ǰµ÷ÓÃClose()·½·¨£©¡£ ¡¡¡¡¼¼ÇÉ9£º½ø³ÌÍâÖ´ÐÐÒÔÐÔÄÜ»»È¡¿É¿¿ÐÔ ¡¡¡¡ASPºÍMTS/COM+¶¼ÓÐÑ¡ÏîÈÃÄãÀ´Óÿɿ¿ÐÔ»»È¡ÐÔÄÜ¡£µ±½¨Á¢ºÍ·¢²¼ÄãµÄÓ¦ÓÃʱ£¬ÄãÓ¦¸ÃÀí½âÕâÏî½»Ò×µÄÄÚÄ»¡£ ¡¡¡¡ASPÑ¡Ïî ¡¡¡¡ASPÓ¦ÓÃÓÐÈýÖÖÔËÐз½·¨¿ÉÑ¡Ôñ¡£ÔÚIIS 5.0ÖУ¬ÒýÈë¡°·ÖÀë¼¶±ð£¨isolation level£©¡±Õâ¸öÊõÓïÀ´ÃèÊöÕâЩѡÏî¡£ÈýÖÖ·ÖÀë¼¶±ð·Ö±ðÊÇ£ºµÍ£¨Low£©£¬ÖÐ £¨Medium£©ºÍ¸ß£¨High£©¡£ ¡¡¡¡µÍ·ÖÀë¼¶ ÕâÖÖ¼¶±ð±»ËùÓа汾µÄIISÖ§³Ö£¬²¢ÇÒËÙ¶ÈÒ²ÊÇ×î¿ìµÄ¡£ËüÔÚInetinfo.exe--Ö÷ÒªµÄIIS½ø³Ì--ÖÐÔËÐÐASP¡£Èç¹ûASPÓ¦ÓñÀÀ££¬IISÒ²½«±ÀÀ£¡£ ¡¡¡¡£¨ÔÚIIS 4.0ÖУ¬Íø¹Ü±ØÐëÓÃÖîÈçInetMonÖ®ÀàµÄ¹¤¾ßÀ´¼àÊÓIIS£¬Ò»µ©IISÍ£Ö¹£¬ÔËÐÐÅú´¦ÀíÎļþ¡£IIS 5.0ÒýÈëÁË¡°¿É¿¿µÄÖØÆô£¨reliable restart£©¡±£¬»á×Ô¶¯ÖØÐÂÆô¶¯Ê§°ÜµÄ·þÎñÆ÷¡£ ¡¡¡¡ÖзÖÀë¼¶ ´ÓIIS 5.0¿ªÊ¼ÒýÈëµÄм¶±ð£¬Ö¸½ø³ÌÍâÔËÐУ¬¼´ASPÔËÐÐÔÚIIS½ø³ÌÖ®Íâ¡£ ÔÚÖзÖÀë¼¶ÖУ¬ËùÓеÄASPÓ¦Óù²ÏíÒ»¸ö½ø³Ì¿Õ¼ä¡£°Ñ¶à¸ö½ø³ÌÍâÓ¦ÓÃÔÚͬ¸ö¿Õ¼äÖÐÔËÐУ¬¼õÉÙÁ˽ø³ÌµÄÊ÷ľ¡£ÖзÖÀë¼¶ÊÇIIS 5.0µÄĬÈϼ¶±ð¡£ ¡¡¡¡¸ß·ÖÀë¼¶ IIS 4.0ºÍIIS 5.0¶¼Ö§³Ö¡£¸ß·ÖÀë¼¶Ò²Êǽø³ÌÍâµÄ¡£Èç¹ûASP±ÀÀ£ÁË£¬Web·þÎñÆ÷²¢²»±ÀÀ£¡£ASPÓ¦ÓûáÔÚϸöASPÇëÇóµ½´ïµÄʱºò×Ô¶¯ÖØÆô¡£Ã¿¸ö±»ÅäÖÃΪ¸ß·ÖÀë¼¶µÄASPÓ¦ÓÃÓÐ×Ô¼ºµÄ½ø³Ì¿Õ¼ä£»Õ⽫ÿ¸öASPÓ¦Óñ£»¤ÆðÀ´¡£ËüµÄȱµãÊǶÔÿ¸öASPÓ¦ÓÃÐèÒªÒ»¸ö·ÖÀëµÄ½ø³Ì£»ÕâÔö¼ÓÁËÐí¶à×ÊÔ´ÏûºÄ¡£ ¡¡¡¡ÄÄÖÖÑ¡ÏîÊÇ×îºÃµÄ¡£ÔÚIIS 4.0ÖУ¬½ø³ÌÍâÔËÐн«Ê¹ÐÔÄܼ±¾çϽµ£»ÔÚIIS 5.0ÖУ¬Ðí¶à¸Ä½øÊ¹½ø³ÌÍâASPÓ¦ÓõĴú¼Û½µµ½×îµÍ¡£ÊÂʵÉÏ£¬ÔÚÐí¶à²âÊÔÖУ¬IIS 5.0ÖеÄASP½ø³ÌÍâÓ¦ÓñÈII4 4.0ÖеĽø³ÌÄÚÔËÐж¼¿ì¡£µ«ÎÞÂÛÈçºÎ£¬ÔÚÈÎºÎÆ½Ì¨ÉÏ£¬»¹Êǽø³ÌÄÚ£¨µÍ·ÖÀë¼¶£©ÔËÐÐÄÜ´øÀ´×î¼ÑµÄÐÔÄÜ¡£È»¶ø£¬ÔÚÏà¶ÔµÍµã»÷ÂÊ»òµÍ×î´óÍÌÍÂÁ¿µÄÇé¿öÏ£¬µÍ·ÖÀë¼¶²»»á´øÀ´ÈκÎÒæ´¦£»Òò´Ë£¬³ý·Çÿ¸öWeb·þÎñÆ÷ÐèÒªÓ¦¸¶³ÉǧÉϰٵÄÒ³ÃæÇëÇ󣬲»È»Äã²»»áÐèÒªÓõͷÖÀë¼¶¡£Í¨³££¬ÐèÒªÔÚ¶à¸öÅäÖÃϽøÐвâÊÔ£¬²ÅÄܾö¶¨Ê¹ÓÃÄÄÖÖÅäÖᣠ¡¡¡¡×¢Ò⣺µ±ÔÚ½ø³ÌÍâÔËÐÐASPÓ¦ÓÃʱ£¨ÖлòµÍ·ÖÀë¼¶£©£¬ASPÓ¦ÓÃÔËÐÐÔÚNT 4ÉϵÄMTSÖлòWindows 2000µÄCOM+ÖУ»¾ÍÊÇ˵£¬ÔÚNT4ÖУ¬ASPÓ¦ÓÃÔËÐÐÔÚMtx.exeÖУ»ÔÚ Windows 2000ÖУ¬ASPÓ¦ÓÃÔËÐÐÔÚDllHost.exeÖС£Äã¿ÉÒÔÔÚÈÎÎñ¹ÜÀíÆ÷Öп´µ½ÕâЩ½ø³ÌÔÚÔËÐС£ ¡¡¡¡COMÑ¡Ïî ¡¡¡¡COM×é¼þÒ²ÓÐÈýÖÖÅäÖÃÑ¡Ïµ«²»ÍêÈ«¶ÔÓ¦ÓÚASPµÄÑ¡Ïî¡£COM×é¼þ¿ÉÒÔÊÇ¡°ÎÞÅäÖõģ¨Unconfigured£©¡±¡¢×÷Ϊһ¸ö¿âÓ¦Óã¨Library Application£©»òÊÇ×÷Ϊһ¸ö·þÎñÓ¦Óã¨Server Application£©¡£¡°ÎÞÅäÖõġ±Òâζ×Å×é¼þ²»×¢²áµ½COM+ÖУ¬×é¼þ½«ÔÚµ÷ÓÃÕß½ø³Ì¿Õ¼äÖÐÔËÐУ»¼´¡°½ø³ÌÄÚ¡±¡£¿âÓ¦ÓÃÒ²Êǽø³ÌÄڵ쬵«¿ÉÒÔ´ÓCOM+µÄ·þÎñ£¬È簲ȫ¡¢ÊÂÎñºÍÉÏÏÂÎÄÖ§³Ö£¬ÖлñÒæ¡£·þÎñÓ¦ÓÃÔò±»ÅäÖóÉÔËÐÐÔÚ×Ô¼ºµÄ½ø³Ì¿Õ¼äÄÚ¡£ ¡°ÎÞÅäÖᱱȿâÓ¦ÓÃÓÐÒ»µãÓÅÔ½ÐÔ£»¶ø¿âÓ¦ÓñȷþÎñÓ¦ÓÃÔÚÐÔÄÜÉϸüÓÅÔ½¡£ÕâÊÇÒòΪ¿âÓ¦ÓúÍASPÊÇÔÚͬһ¸ö½ø³ÌÄڵ쬶ø·þÎñÓ¦ÓÃÊÇÔËÐÐÔÚ×Ô¼ºµÄ½ø³Ì¿Õ¼äÀïµÄ¡£½ø³Ì¼äµ÷ÓñȽø³ÌÄÚµ÷ÓõĴú¼Û¸ß¡£Í¬Ñù£¬ÔÚ½ø³Ì¼ä´«µÝÈç¼Ç¼¼¯ÕâÑùµÄÊý¾Ý£¬ÐèÒªÔÚÁ½¸ö½ø³Ì¼ä¸´ÖÆËùÓеÄÊý¾Ý¡£ ¡¡¡¡È±ÏÝ£¡µ±Ê¹ÓÃCOM·þÎñÓ¦ÓÃʱ£¬ÒªÏëÔÚASPºÍCOM¼ä´«ËÍÊý¾Ý£¬±ØÐë±£Ö¤¶ÔÏóʵÏÖÁË¡°°´ÖµÅÅÁУ¨marshall-by-valu£©¡±£¬»òÕß˵MBV¡£ÊµÏÖÁËMBVµÄ¶ÔÏó½«×ÔÉí´ÓÒ»¸ö½ø³Ì¸´ÖƵ½ÁíÒ»¸ö½ø³Ì¡£Õâ±ÈÏÂÃæµÄ·½·¨ºÃ£º¶ÔÏóÁôÔÚ´´½¨Õß½ø³Ì£¬ÆäËû½ø³ÌÖØ¸´µ÷Óô´½¨½ø³ÌÀ´Ê¹ÓöÔÏó¡£ÎÞÁ¬½ÓADO¼Ç¼¼¯ÊÇMBV£¬ÓÐÁ¬½Ó¼Ç¼¼¯¾Í²»ÊÇ¡£ ¡¡¡¡Scripting.Dictonary¶ÔÏóûÓÐʵÏÖMBV£¬²»ÄÜÔÚ½ø³ÌÖ®¼ä´«µÝ¡£×îºó£¬¶ÔVB³ÌÐòÔ±µÄÒ»¸öÌáʾ£ºMBV²»ÊÇͨ¹ýÓÃByValÀ´´«µÝ²ÎÊý¡£MBVÊÇÔʼ×é¼þ×÷ÕßʵÏֵġ£ ¡¡¡¡ÔõÑù×ö£¿ ¡¡¡¡ÍƼöµÄÓÿɿ¿ÐÔ»»È¡ÐÔÄܵÄÅäÖ㺠¡¡¡¡ÔÚIIS 4.0ÉÏ£¬ÓÃASPµÄµÍ·ÖÀë¼¶£¬²¢Ê¹ÓÃMTS·þÎñ°ü¡£ ¡¡¡¡ÔÚIIS 5.0SHANG£¬ÓÃASPµÄÖзÖÀë¼¶£¬Ê¹ÓÃCOM+µÄ¿âÓ¦Óᣠ¡¡¡¡¼¼ÇÉ10£ºÊ¹ÓÃOption Explicit ¡¡¡¡ÔÚ.aspÎļþÖÐʹÓÃOption Explicit¡£¸Ãָʾ·ÅÔÚ.aspÎļþµÄ¶¥²¿£¬Ç¿ÖÆ¿ª·¢ÕßÔÚʹÓÃÈκαäÁ¿Ö®Ç°±ØÐ붨ÒåËü¡£Ðí¶à³ÌÐòÔ±ÈÏΪÕâÓÐÖúÓÚµ÷ÊÔ³ÌÐò£¬ÒòΪËüÏû³ýÁË´ò×Ö´íÎóµÄ¿ÉÄÜ£¨È罫MyXMLString=ÇóÉMyXLMString=£© ¡¡¡¡ÁíÍâÒ»µã¿ÉÄܸü¼ÓÖØÒª£ºÒѶ¨Òå±äÁ¿±È䶨ÒåµÄ±äÁ¿¿ì¡£ASPÿ´ÎÊÇÓÃÃû×ÖÀ´ÒýÓÃ䶨Òå±äÁ¿µÄ£»¶øÁíÒ»·½Ã棬ÿ¸öÒѶ¨Òå±äÁ¿ÓÐÒ»¸öÐòºÅ£¬ASPÓÃÕâ¸öÐòºÅÀ´ÒýÓÃÒѶ¨Òå±äÁ¿¡£¼ÈÈ»Option ExplicitÇ¿ÖÆ±äÁ¿¶¨Ò壬¾Í±£Ö¤ÁËËùÓеıäÁ¿¶¼ÊÇÒѶ¨ÒåµÄ£¬·ÃÎÊËٶȾ͸ü¿ìÁË¡£ ¡¡¡¡¼¼ÇÉ11£ºÔÚ×Ó¹ý³ÌºÍº¯ÊýÖÐʹÓñ¾µØ±äÁ¿ ¡¡¡¡±¾µØ±äÁ¿ÊÇÄÇЩÔÚ×Ó¹ý³ÌºÍº¯ÊýÖж¨ÒåµÄ±äÁ¿¡£ÔÚº¯ÊýºÍ×Ó¹ý³ÌÖУ¬·ÃÎʱ¾µØ±äÁ¿±È·ÃÎÊÈ«¾Ö±äÁ¿¸ü¿ì¡£Ê¹Óñ¾µØ±äÁ¿Ò²Ê¹´úÂë¸ü¸É¾»£¬Òò´Ë¾¡Á¿Ê¹Óñ¾µØ±äÁ¿°É¡£
|