Áö³ °Á¿¡¼ global.asa ¿¡´Â ´ÙÀ½°ú °°Àº Ç׸ñÀ» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, ±× Áß Application À̺¥Æ®¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù..
- Application À̺¥Æ®
- Session À̺¥Æ®
- <OBJECT> ¼±¾ð
- Çü½Ä ¶óÀ̺귯¸® ¼±¾ð
±×·³, À̹ø °Á¿¡¼± Session À̺¥Æ® Ç׸ñºÎÅÍ »ìÆìº¸±â·Î ÇϰڽÀ´Ï´Ù.
2. Session À̺¥Æ®
ÀÌÀü¿¡ ¼¼¼ÇÀ» °®Áö ¾Ê¾Ò´ø »ç¿ëÀÚ°¡ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ À¥ ÆäÀÌÁö¸¦ ¿¸é À¥ ¼¹ö°¡ ÀÚµ¿À¸·Î ¼¼¼ÇÀ» ¸¸µì´Ï´Ù.
¼¹ö´Â ¼¼¼ÇÀÌ ½Ã°£ ÃʰúµÇ°Å³ª Abandon ¸Þ¼µå¸¦ È£ÃâÇÒ ¶§ ¼¼¼ÇÀ» ³¡³À´Ï´Ù. ¼¼¼Ç¿¡´Â µÎ °³ÀÇ À̺¥Æ®,
Session_OnStart À̺¥Æ®¿Í Session_OnEnd À̺¥Æ®°¡ ÀÖ½À´Ï´Ù. ±Û·Î¹ú ÆÄÀÏ Global.asa¿¡ ÀÌ·¯ÇÑ À̺¥Æ®µé¿¡ ´ëÇÑ ½ºÅ©
¸³Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼¼¼ÇÀÌ ½ÃÀÛµÇ¸é ¼¹ö´Â Global.asa ÆÄÀÏÀ» °Ë»çÇÏ¿© Session_OnStart À̺¥Æ® ½ºÅ©¸³Æ®¸¦
ó¸®ÇÕ´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â »ç¿ëÀÚ°¡ ¿äûÇÑ À¥ ÆäÀÌÁöº¸´Ù ¸ÕÀú 󸮵˴ϴÙ. ¼¼¼ÇÀÌ ³¡³ª¸é ¼¹ö´Â Session_OnEnd À̺¥
Æ® ½ºÅ©¸³Æ®¸¦ ó¸®ÇÕ´Ï´Ù.
À§¿¡¼ ¼³¸íÇϰí ÀÖµíÀÌ ¼¼¼ÇÀÌ ¾ø´Â »ç¿ëÀÚ°¡ À¥ »çÀÌÆ®ÀÇ ÇÑ ÆäÀÌÁö¸¦ ¿¸é ÀÚµ¿À¸·Î ¼¼¼ÇÀÌ ¸¸µé¾îÁý´Ï´Ù.
ÀÌ ¶§, Áï ¼¼¼ÇÀÌ Ã³À½ ¿¬°áµÉ ¶§, global.asaÀÇ Session_OnStart À̺¥Æ® ½ºÅ©¸³Æ®°¡ ½ÇÇàµË´Ï´Ù. ¸¶Âù°¡Áö·Î ¼¼¼Ç ¿¬°áÀÌ ²÷¾îÁú
¶§ Session_OnEnd À̺¥Æ® ½ºÅ©¸³Æ®°¡ ½ÇÇàµË´Ï´Ù.
Âü°í·Î, ¼¼¼Ç ¿¬°áÀ» ²÷´Â ¹æ¹ýÀ¸·Î´Â ¼¼¼Ç °´Ã¼ÀÇ Abandon ¸Þ¼Òµå¸¦ È£ÃâÇϰųª Timeout ¼Ó¼ºÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¼¼ÇÑ »çÇ×Àº Session °´Ã¼¿¡ ´ëÇÑ °Á¿¡¼ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
ÀÌÁ¦, Session_OnStart¿Í Session_OnEnd À̺¥Æ®¿¡ ´ëÇÑ Á» ´õ ±¸Ã¼ÀûÀÎ ³»¿ë°ú ¿¹¸¦ º¸±â·Î ÇÏÁÒ.
¢º Session_OnStart
Session_OnStart À̺¥Æ®´Â ¼¹ö°¡ »õ ¼¼¼ÇÀ» ¸¸µé ¶§ ¹ß»ýÇÕ´Ï´Ù. ¼¹ö´Â ¿äûµÈ ÆäÀÌÁö¸¦ ½ÇÇàÇϱâ Àü¿¡ ÀÌ ½ºÅ©¸³Æ®¸¦ ó¸®ÇÕ´Ï´Ù. Session_OnStart À̺¥Æ®¿¡ ¼¼¼Ç Â÷¿ø º¯¼ö¸¦ ¼³Á¤ÇÏ¸é ÆäÀÌÁö¿¡ ¾×¼¼½ºÇϱâ Àü¿¡ ÀÌ º¯¼öµéÀÌ ¼³Á¤µÇ¹Ç·Î Session_OnStart À̺¥Æ®¿¡ ¼¼¼Ç Â÷¿ø º¯¼öµéÀ» ¼³Á¤ÇϽʽÿÀ. ¸ðµç ±âº» Á¦°ø °³Ã¼(Application, ObjectContext, Request, Response, Server, Session)¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç Session_OnStart À̺¥Æ® ½ºÅ©¸³Æ®¿¡¼ ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±¸¹® <SCRIPT-x LANGUAGE=Script-xLanguage RUNAT=Server>
Sub Session_OnStart ... End Sub
</SCRIPT-x>
¸Å°³ º¯¼ö Script-xLanguage À̺¥Æ® ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ´Â µ¥ »ç¿ëÇÒ ½ºÅ©¸³Æ® ¾ð¾î¸¦ ÁöÁ¤ÇÕ´Ï´Ù. VBScript-x³ª JScript-x °°Àº Áö¿øµÇ´Â ½ºÅ©¸³Æ® ¾ð¾î¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÎ °³ ÀÌ»óÀÇ À̺¥Æ®°¡ µ¿ÀÏÇÑ ½ºÅ©¸³Æ® ¾ð¾î¸¦ »ç¿ëÇϸé ÇϳªÀÇ <SCRIPT-x> ű׷Π¹À» ¼ö ÀÖ½À´Ï´Ù.
¿¹Á¦ Session_OnStart À̺¥Æ®°¡ Redirect ¸Þ¼µå³ª End ¸Þ¼µå¿¡ ´ëÇÑ È£ÃâÀ» Æ÷ÇÔÇϰí ÀÖÀ¸¸é Session °³Ã¼´Â Áö¼ÓµÇ¾îµµ ¼¹ö´Â Global.asa ÆÄÀÏ¿¡ µé¾î ÀÖ´Â ½ºÅ©¸³Æ®¿Í Session_OnStart À̺¥Æ®¸¦ Æ®¸®°ÅÇÑ ÆÄÀÏ¿¡ ÀÖ´Â ½ºÅ©¸³Æ®ÀÇ Ã³¸®¸¦ ÁßÁöÇÕ´Ï´Ù.
¿¹¸¦ µé¾î Session_OnStart À̺¥Æ®¿¡ µé¾î ÀÖ´Â Redirect ¸Þ¼µå¸¦ È£ÃâÇÏ¿© »ç¿ëÀÚµéÀÌ Ç×»ó Æ¯Á¤ À¥ ÆäÀÌÁöÀÇ ¼¼¼ÇÀ» ½ÃÀÛÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ°¡ ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ¼¹ö´Â ±× »ç¿ëÀÚ¿ë ¼¼¼ÇÀ» ¸¸µé°í Session_OnStart À̺¥Æ® ½ºÅ©¸³Æ®¸¦ ó¸®ÇÕ´Ï´Ù. ÀÌ À̺¥Æ®¿¡ ½ºÅ©¸³Æ®¸¦ Æ÷ÇÔ½ÃÄÑ »ç¿ëÀÚ°¡ ¿¬ ÆäÀÌÁö°¡ ½ÃÀÛ ÆäÀÌÁöÀÎÁö ¿©ºÎ¸¦ È®ÀÎÇÏ°í ½ÃÀÛ ÆäÀÌÁö°¡ ¾Æ´Ï¸é Response.Redirect ¸Þ¼µå¸¦ È£ÃâÇÏ¿© »ç¿ëÀÚ¸¦ ½ÃÀÛ ÆäÀÌÁö·Î º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¸¦ ÂüÁ¶ÇϽʽÿÀ.
<SCRIPT-x RUNAT=Server LANGUAGE=VBScript-x> Sub Session_OnStart '»õ »ç¿ëÀÚ°¡ ASP ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ '¿Ã¹Ù¸¥ ÆäÀÌÁö¿¡¼ ½ÃÀÛÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
'¾Æ·¡ startPage¿¡ ÁöÁ¤µÈ °ªÀ» 'ÀÀ¿ë ÇÁ·Î±×·¥ ½ÃÀÛ ÆäÀÌÁöÀÇ '°¡»ó °æ·Î·Î ¹Ù²ß´Ï´Ù.
startPage = "/MyApp/StartHere.asp" currentPage = Request.ServerVariables("SCRIPT-x_NAME")
'´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÕ´Ï´Ù. 'ÀÏÄ¡ÇÏ´Â Ç׸ñÀ» ãÁö ¸øÇÏ¸é »ç¿ëÀÚ¸¦ ½ÃÀÛ ÆäÀÌÁö·Î º¸³À´Ï´Ù.
If strcomp(currentPage,startPage,1) then Response.Redirect(startPage) End If
End Sub </SCRIPT-x>
¾ÕÀÇ ¿¹Á¦´Â Äí۸¦ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¿¡¼¸¸ ½ÇÇàµË´Ï´Ù. Äí۸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀú´Â SessionID Äí۸¦ ¹ÝȯÇÏÁö ¾Ê±â ¶§¹®¿¡ ¼¹ö´Â »ç¿ëÀÚ°¡ ÆäÀÌÁö¸¦ ¿äûÇÒ ¶§¸¶´Ù »õ ¼¼¼ÇÀ» ¸¸µì´Ï´Ù. µû¶ó¼ ¼¹ö´Â °¢ ¿äû¿¡ ´ëÇØ Session_OnStart ½ºÅ©¸³Æ®¸¦ ó¸®ÇÏ°í »ç¿ëÀÚ¸¦ ½ÃÀÛ ÆäÀÌÁö·Î º¸³À´Ï´Ù. ¾Æ·¡ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ´Â °æ¿ì, »çÀÌÆ®¿¡¼ Äí۸¦ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¸¦ ÇÊ¿ä·Î ÇÑ´Ù´Â ¾Ë¸² ¸Þ½ÃÁö¸¦ ½ÃÀÛ ÆäÀÌÁö¿¡ Ç¥½ÃÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
ÁÖÀÇ Redirect ¸Þ¼µå È£Ãâ µÚ¿¡ ¿À´Â Session_OnStart À̺¥Æ® ½ºÅ©¸³Æ®´Â ½ÇÇàµÇÁö ¾Ê´Â´Ù´Â Á¡À» ÁÖÀÇÇϽʽÿÀ. µû¶ó¼ À̺¥Æ® ½ºÅ©¸³Æ®¿¡¼´Â Redirect ¸Þ¼µå¸¦ ¸¶Áö¸·¿¡ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½ ¿¹Á¦¸¦ ÂüÁ¶ÇϽʽÿÀ.
<SCRIPT-x LANGUAGE=VBScript-x RUNAT=Server> Sub Session_OnStart
'¼¼¼Ç ÃʱâÈ ½ºÅ©¸³Æ®. Response.Redirect "http:/server/app/StartHere.asp"
End Sub </SCRIPT-x>
À§ÀÇ ¿¹Á¦ Áß Ã¹ ¹øÂ° ¿¹Á¦¸¦ Á» ´õ »ìÆìº¸±â·Î ÇÏÁÒ.
ù¹øÂ° ¿¹Á¦¸¦ º¸¸é, ÀÏ´Ü À¥ »çÀÌÆ®ÀÇ ½ÃÀÛ ÆäÀÌÁö(/MyApp/StartHere.asp)¸¦ ÁöÁ¤ÇÑ ÈÄ, ¼¼¼ÇÀÌ ¿¬°áµÉ ¶§ÀÇ ÆäÀÌÁö (¼¼¼ÇÀ» °®
Áö ¾Ê¾Ò´ø »ç¿ëÀÚ°¡ óÀ½ ¿·Á°í ½ÃµµÇÏ´Â ÆäÀÌÁö)¸¦ °¡Á®¿Í¼ ºñ±³ÇÕ´Ï´Ù.
Request°´Ã¼ÀÇ ServerVariables Ä÷º¼Ç Áß SCRIPT-x_NAME ¼¹öº¯¼ö´Â ½ÇÇàµÇ´Â ½ºÅ©¸³Æ®ÀÇ °¡»ó °æ·Î¿Í À̸§À» ¹ÝȯÇϱ⿡ ¼¼
¼ÇÀÌ ¿¬°áµÉ ¶§ÀÇ ÆäÀÌÁö¸¦ ÀÌ·¸°Ô ÇØ¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô ½ÃÀÛÆäÀÌÁö¿Í »ç¿ëÀÚ°¡ Á¢±ÙÇÏ·Á´Â ÆäÀÌÁö¸¦ ¹®ÀÚ¿ ºñ±³Çؼ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é ¿ø·¡ ÁöÁ¤ÇÑ ½ÃÀÛ ÆäÀÌÁö·Î ¸®µð·º¼Ç ½ÃŰ
´Â ¿¹Á¦ÀÔ´Ï´Ù.
StrComp ÇÔ¼ö´Â ¹®ÀÚ¿ ºñ±³ÀÇ °á°ú¸¦ ³ªÅ¸³»´Â ÇÔ¼öÀ̹ǷÎ, strcomp(currentPage,startPage,1)´Â currentPage¿Í
StartPageÀÇ ÅØ½ºÆ® ºñ±³¸¦ ½ÇÇàÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù. StrComp ÇÔ¼ö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº VB ½ºÅ©¸³Æ® ÀÚ½À¼¸¦ Âü°íÇϼ¼¿ä.
¢º Session_OnEnd
Session_OnEnd À̺¥Æ®´Â ¼¼¼ÇÀÌ Ãë¼ÒµÇ°Å³ª ½Ã°£ÀÌ ÃʰúµÉ ¶§ ¹ß»ýÇÕ´Ï´Ù. ¼¹ö ±âº» Á¦°ø °³Ã¼ Áß¿¡¼ Application, Server, Session °³Ã¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
±¸¹® <SCRIPT-x LANGUAGE=Script-xLanguage RUNAT=Server>
Sub Session_OnEnd ... End Sub
</SCRIPT-x>
¸Å°³ º¯¼ö Script-xLanguage À̺¥Æ® ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ´Â µ¥ »ç¿ëÇÒ ½ºÅ©¸³Æ® ¾ð¾î¸¦ ÁöÁ¤ÇÕ´Ï´Ù. VBScript-x³ª JScript-x °°Àº Áö¿øµÇ´Â ½ºÅ©¸³Æ® ¾ð¾î¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÎ °³ ÀÌ»óÀÇ À̺¥Æ®°¡ µ¿ÀÏÇÑ ½ºÅ©¸³Æ® ¾ð¾î¸¦ »ç¿ëÇϸé ÇϳªÀÇ <SCRIPT-x> ű׷Π¹À» ¼ö ÀÖ½À´Ï´Ù.
ÁÖÀÇ Session_OnEnd ½ºÅ©¸³Æ®¿¡¼ MapPath ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÏ´Ü, À̹ø °Á´ ¿©±â¼ ¸¶Ä¡°Ú½À´Ï´Ù. "Global.asaÆÄÀÏ¿¡ ´ëÇÑ ÂüÁ¶" °Á´ °è¼Ó µË´Ï´Ù. ±×·³, ÁÁÀº ÇÏ·ç µÇ¼¼¿ä. |