|
|
|
| ¢º ASP.NET 2.0 ³»ºÎ º¯°æ »çÇ× |
|
| ±Û¾´ÀÌ : Ű¾¥_¯^^-Y |
µî·ÏÀÏ : 2006/09/27 , IP Address : 220.124.223.3 , Á¶È¸¼ö : 8 |
|
Jayesh Patel, Bryan Acker, Robert McGovern
Infusion Development
2004³â 8¿ù
Àû¿ë ´ë»ó:
Microsoft ASP.NET 2.0
¿ä¾à: ASP.NET 2.0Àº ÀÌÀü ¹öÀüÀÎ ASP.NET 1.1°ú ¿Ïº®ÇÏ°Ô È£È¯µÇÁö¸¸, ASP.NETÀÇ ¸¹Àº ¿ä¼ÒµéÀÌ ³»ºÎÀûÀ¸·Î º¯°æµÇ¾ú½À´Ï´Ù. º¯°æµÈ ¿ä¼Ò¿¡´Â ÄÚµå ¸ðµ¨, ÄÄÆÄÀÏ, ÆäÀÌÁö Áֱ⠵îÀÌ ÀÖ½À´Ï´Ù. ÀÌ ±â»ç¿¡¼´Â ÀÌ·¯ÇÑ º¯°æ »çÇ׿¡ ´ëÇØ °£´ÜÈ÷ ¼³¸íÇÕ´Ï´Ù(21ÆäÀÌÁö/ÀÎ¼â ÆäÀÌÁö ±âÁØ).
¸ñÂ÷
¼Ò°³
ÄÚµå ¸ðµ¨
ÄÄÆÄÀÏ
½ÇÇà Áß¿¡ Àüü ÄÄÆÄÀÏ(ÄÚµå µð·ºÅ͸®)
ÆäÀÌÁö ÁÖ±â
È®À强
°í±Þ ij½Ì ±â¼ú
¼º´É
°á·Ð
¼Ò°³
Àü¹® ASP.NET °³¹ßÀÚ¿¡°Ô ÀÖ¾î¼ ASP.NET 2.0ÀÇ Å« ¹®Á¦Á¡Àº ³»ºÎ º¯°æ »çÇ×°ú ¿¬°üµÇ¾î ÀÖ½À´Ï´Ù. »õ·Î¿î ±â´ÉÀ» ¹è¿ì´Â °ÍÀº Èï¹Ì·Ó°í Àç¹ÌÀÖ½À´Ï´Ù. ´õ¿íÀÌ, ASP.NET ÇÙ½É ±¸Á¶ÀÇ º¯°æ »çÇ×Àº ÇØ´ç ±â¼úÀ» ¼÷´ÞÇϰíÀÚ ÇÏ´Â °³¹ßÀÚ¿¡°Ô º¸´Ù Å« Èï¹Ô°Å¸®·Î ´Ù°¡¿É´Ï´Ù. ÀÌ ¹é¼¿¡¼´Â ¹öÀü 1.x ÀÌÈÄÀÇ ASP.NET 2.0 ³»ºÎ ±¸Á¶ º¯°æ »çÇ׿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
ÀÌ ¹é¼¿¡¼ ´Ù·ç´Â Ç׸ñÀº ¼º´ÉÀ» Áß¿ä½ÃÇÏ´Â °³¹ßÀÚ ¹× ±â¼ú ¼³°èÀÚ°¡ ÀÀ¿ë ÇÁ·Î±×·¥À» ¹Ì¼¼ Á¶Á¤ÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù. ƯÈ÷ ÄÚµå ¸ðµ¨, ÄÄÆÄÀÏ, ÆäÀÌÁö ÁÖ±â, È®À强, ¼º´É ¹× ij½Ì°ú °°Àº ÁÖ¿ä ¿µ¿ª¿¡ ´ëÇØ »ìÆìº¾´Ï´Ù.
ÀÌ ¹®¼¿¡ »ç¿ëµÈ ´ëºÎºÐÀÇ ¿¹¸¦ ÀÌÇØÇÏ·Á¸é ASP.NET, Visual Basic .NET ¹×/¶Ç´Â C# ±¸¹®¿¡ Àͼ÷ÇØ¾ß ÇÕ´Ï´Ù. ÇØ´çÇÏ´Â °æ¿ì¿¡´Â ƯÁ¤ ÁÖÁ¦¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» º¼ ¼ö ÀÖµµ·Ï ÂüÁ¶ ¹®¼°¡ Á¦°øµÇ¾î ÀÖ½À´Ï´Ù.
ÄÚµå ¸ðµ¨
ASP.NET 2.0¿¡¼ °¡Àå ¸í¹éÇÏ°Ô ³ªÅ¸³ª´Â ³»ºÎ º¯°æ »çÇ×Àº ASP.NET À¥ ÆäÀÌÁö¸¦ ¸¸µå´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÌ ¼½¼Ç¿¡¼´Â ÄÚµå ¼û±è ¸ðµ¨ÀÇ º¯°æ »çÇ× ¹× ÀÌ º¯°æ »çÇ×ÀÌ ASP.NET °³¹ß¿¡ ¹ÌÄ¡´Â ¿µÇâ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
ASP.NET 1.xÀÇ ÄÚµù ¸ðµ¨
ASP.NET 1.x¿¡¼´Â °³¹ßÀÚ°¡ Web FormÀ» °³¹ßÇÒ ¶§ ¼±ÅÃÇÒ ¼ö ÀÖ´Â µÎ °¡Áö ÁÖ¿ä ¿É¼ÇÀÌ ÀÖ¾ú½À´Ï´Ù. ù°·Î, °³¹ßÀÚ´Â ÀÏ¹Ý ASP ¸ðµ¨¿¡ µû¶ó ASPX ÆäÀÌÁö¿¡¼ Á÷Á¢ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù. ÄÚµå ÀζóÀÎÀ̶ó´Â ÀÌ °úÁ¤Àº ´Ü¼øÇÑ ¸í·É¿¡´Â ÀûÇÕÇÕ´Ï´Ù. ±×·¯³ª º¸´Ù º¹ÀâÇÑ ÄÚµåÀÇ °æ¿ì ÄÚµå ÀζóÀÎÀ» ÀÛ¼ºÇϸé Ç¥Çö(HTML)°ú ±â´É(ÄÚµå)ÀÌ È¥ÇÕµÈ À¥ ÆäÀÌÁö¸¦ ÀбⰡ ¾î·Á¿öÁý´Ï´Ù. ASP.NETÀÇ ±âº» ÄÚµù ÀÛ¾÷Àº ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ º¯°æµÇ¾ú½À´Ï´Ù. ÄÚµå ¼û±è ÆÄÀÏÀ̶ó´Â º°µµÀÇ ÄÚµå Àü¿ë ÆÄÀÏ¿¡¼ ºñÁî´Ï½º ³í¸® ¹× À̺¥Æ® ó¸® Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÚµå ¼û±è ¸ðµ¨Àº ÇÁ·¹Á¨Å×ÀÌ¼Ç Å±װ¡ Æ÷ÇÔµÈ ASPX ÆÄÀÏ¿¡ ÄÚµå Àü¿ë ÆÄÀÏÀ» ¿¬°áÇÕ´Ï´Ù. Ç¥Çö°ú Äڵ带 ºÐ¸®ÇÔÀ¸·Î½á °³¹ß ÆÀ¿¡¼ µðÀÚÀ̳ʴ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄÀÏ¿¡¼ ÀÛ¾÷ÇÏ°í °³¹ßÀÚ´Â ÄÚµå ÆÄÀÏ¿¡¼ ÀÛ¾÷Çϵµ·Ï ÇÏ¿© º¸´Ù ½Å¼ÓÇÏ°Ô ÀÛ¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×¸² 1. ASP.NET 1.x ÄÚµù ¸ðµ¨
ÄÚµå ¼û±è ¸ðµ¨ÀÇ ÁÖ¿ä ¹®Á¦Á¡Àº ÄÚµå ¼û±è ÆÄÀÏÀ» ASPX ÆäÀÌÁö¿Í µ¿±âÈÇÏ´Â ¹æ¹ýÀ̾ú½À´Ï´Ù. ÇÁ·Î±×·¡¹Ö °üÁ¡¿¡¼ º¼ ¶§ ASPX ÆäÀÌÁö°¡ ÄÚµå ¼û±è ÆÄÀÏ¿¡¼ »ó¼ÓµÇ´Â °æ¿ì¿¡µµ, »ç½Ç µÎ ÆÄÀÏÀº ´õ¿í º¹ÀâÇÑ °ü°è·Î ¿¬°áµÇ¾î ÀÖ¾ú½À´Ï´Ù.
ASP.NET 1.xÀÇ ÄÚµå ¼û±è ¸ðµ¨¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº MSDN Library ±â»ç Web Forms ÄÚµå ¸ðµ¨ À» ÂüÁ¶ÇϽʽÿÀ.
»ó¼ÓÀÇ º¹À⼺
ASP.NETÀÇ µðÀÚÀÎ ÆÐ·¯´ÙÀÓÀº °³¹ßÀÚ°¡ Microsoft Visual Studio .NETÀ» »ç¿ëÇÏ¿© ÄÁÆ®·ÑÀ» ASPX ÆäÀÌÁö¿¡ ²ø¾î ³õ´Â °ÍÀ̾ú½À´Ï´Ù. ±×·¯¸é Visual Studio¿¡¼ ÄÚµå ¼û±è ÆÄÀÏ¿¡ ÀûÇÕÇÑ Áö¿ø Äڵ带 ÀÚµ¿À¸·Î »ý¼ºÇÕ´Ï´Ù. ÄÁÆ®·ÑÀ» ASPX ÆäÀÌÁö¿¡ Ãß°¡ÇÏ¸é »õ Äڵ带 ÄÚµå ¼û±è ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. Áï, ÄÚµå ¼û±è ÆÄÀÏÀÌ ASPX ÆäÀÌÁö¿¡¼ »ó¼ÓµÇ´Â °æ¿ì¿¡µµ ASPX ÆäÀÌÁö´Â ½ÇÁ¦·Î ÄÚµå ¼û±è ÆÄÀÏÀÇ µðÀÚÀÎÀ» »ç¿ëÇÕ´Ï´Ù.
ÄÄÆÄÀÏÀÇ º¹À⼺
µ¿±âÈÀÇ µÎ ¹øÂ° ¹®Á¦´Â ÆÄÀÏ ÄÄÆÄÀÏ ¹æ¹ýÀ̾ú½À´Ï´Ù. ¸ðµç ÄÚµå ¼û±è ÆÄÀÏÀº Áö¿ø Ŭ·¡½º¿Í ÇÔ²² ¾î¼Àºí¸®·Î ÄÄÆÄÀϵǾî À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ /bin µð·ºÅ͸®¿¡ ÀúÀåµË´Ï´Ù. ÄÄÆÄÀÏ ´Ü°è´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¹èÆ÷ ÀÌÀü¿¡ ÀÌ·ç¾îÁö´Â ¹Ý¸é, ASPX ÆäÀÌÁö´Â ÆäÀÌÁö¸¦ óÀ½ ¿äûÇÒ ¶§ ½ÇÇà Áß¿¡ ÄÄÆÄÀϵ˴ϴÙ. ASP.NET ·±Å¸ÀÓÀº ½ÇÁ¦·Î ASPX ÆäÀÌÁö¸¦ °íÀ¯ÇÑ Àӽà ¾î¼Àºí¸®·Î ÄÄÆÄÀÏÇÕ´Ï´Ù.
ÀÌ °úÁ¤¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦´Â ÄÚµå ¼û±è ¾î¼Àºí¸®°¡ ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê´Â »óÅ¿¡¼ ASPX ÆäÀÌÁö¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. Áï, °³¹ßÀÚ´Â ¹èÆ÷ ÈÄ ASPX ÆäÀÌÁö¿¡¼ ¼Ó¼ºÀ» ¼öÁ¤Çϰųª ÄÁÆ®·ÑÀÇ Çü½ÄÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. À̶§ ÄÚµå ¼û±è ÆÄÀÏÀº ¾÷µ¥ÀÌÆ®µÇÁö ¾ÊÀ¸¸ç ÀÀ¿ë ÇÁ·Î±×·¥ ¾î¼Àºí¸®µµ ´Ù½Ã ÄÄÆÄÀϵÇÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì ÄÚµå ¼û±è ÆÄÀϰú ¿¬°áµÈ ASPX ÆäÀÌÁö°¡ ÀÏÄ¡ÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ¿¹±âÄ¡ ¾ÊÀº ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
ASP.NET 2.0ÀÇ ÄÚµù ¸ðµ¨
ASP.NET 2.0¿¡¼µµ ÄÚµå ÀζóÀÎ ¹× ÄÚµå ¼û±è ÄÚµù ¸ðµ¨À» ¸ðµÎ Á¦°øÇÕ´Ï´Ù. ÄÚµå ÀζóÀÎ ¸ðµ¨ÀÇ °æ¿ì Microsoft Visual Studio 2005¿¡¼ ´ÜÀÏ ÆÄÀÏ °³¹ßÀ» Áö¿øÇÏ´Â ¹æ½ÄÀ» Á¦¿ÜÇϰí´Â °ÅÀÇ º¯°æµÈ °ÍÀÌ ¾ø½À´Ï´Ù. Visual Studio 2005ÀÇ º¯°æ »çÇ× ¹× ÄÚµå ÀζóÀΠó¸® ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ÀÌ ±â»ç ¸¦ ÂüÁ¶ÇϽʽÿÀ.
ASP.NET 2.0¿¡¼´Â ÄÚµå ¼û±è ÆÄÀÏÀÇ Æ¯¼ºÀ» ¼öÁ¤ÇÏ¿© ÄÚµå ¼û±è ¸ðµ¨ÀÇ »ó¼Ó ¹× ÄÄÆÄÀÏ ¹®Á¦¸¦ ¸ðµÎ ÇØ°áÇß½À´Ï´Ù. ASP.NET 2.0¿¡¼ ÄÚµå ¼û±è ÆÄÀÏÀº ´õ ÀÌ»ó System.Web.UI.Page Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ ±¸ÇöÀÌ ¾Æ´Ï¸ç, ºÎºÐ Ŭ·¡½º¶ó´Â »õ·Î¿î ±¸Á¶·Î µÇ¾î ÀÖ½À´Ï´Ù. ºÎºÐ Ŭ·¡½º¿¡´Â »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Äڵ尡 ¸ðµÎ Æ÷ÇԵǾî ÀÖÁö¸¸, ASP.NET 1.xÀÇ Visual Studio .NET¿¡¼ ÀÚµ¿À¸·Î »ý¼ºµÈ ¸ðµç Åë·Î ¹× ¿¬°á ÄÚµå´Â »ý·«µÇ¾î ÀÖ½À´Ï´Ù. »õ ÄÚµå ¼û±è ÆÄÀÏÀÌ ÀÖ´Â ASPX ÆäÀÌÁö¸¦ ¿äûÇϸé ASP.NET 2.0 ·±Å¸ÀÓÀÌ ½ÇÁ¦·Î ASPX ÆäÀÌÁö¿Í ºÎºÐ Ŭ·¡½º¸¦ º°µµÀÇ µÎ Ŭ·¡½º°¡ ¾Æ´Ñ ´ÜÀÏ Å¬·¡½º·Î °áÇÕÇÕ´Ï´Ù.
±×¸² 2. ASP.NET 2.0ÀÇ ÄÚµå ¼û±è ¸ðµ¨
ºÎºÐ Ŭ·¡½º¿¡¼´Â »õ Ű¿öµå(Visual BasicÀÇ Expands ¶Ç´Â C#ÀÇ Partial)¸¦ »ç¿ëÇÏ¿© ½ÇÇà Áß¿¡ Ŭ·¡½ºÀÇ Äڵ尡 ´Ù¸¥ Ŭ·¡½º¿Í º´Çյǵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î, ASPX ÆäÀÌÁö¿¡¼´Â compilewith¶ó´Â »õ Áö½Ã¹®À» »ç¿ëÇÏ¿© ÄÚµå ¼û±è ÆÄÀϰú ¿¬°áµÇµµ·Ï ÁöÁ¤ÇÕ´Ï´Ù.
ÄÚµå ¼û±è ÆÄÀÏ ºñ±³
ÀÏ¹Ý ASP.NET 1.x ÄÚµå ¼û±è ÆÄÀÏ¿¡ Ä£¼÷ÇÑ °æ¿ì Visual Studio¿¡¼ ÀÚµ¿À¸·Î »ý¼ºµÈ ÄÁÆ®·Ñ ¼±¾ð ¹× ÃʱâÈ Äڵ带 »ðÀÔÇÑ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÚµ¿À¸·Î »ý¼ºµÈ ÀÌ ÄÚµå´Â ÄÚµå ¼û±è ÆÄÀϰú ASPX ÆÄÀÏÀÌ ¾ç¹æÇâÀ¸·Î µ¿±âȵǾî Á÷Á¢ÀûÀ¸·Î »ý±â´Â °á°úÀÔ´Ï´Ù. ·¹À̺íÀÌ ÀÖ´Â ÀÏ¹Ý ASPX ÆäÀÌÁö¿¡´Â ÀÚµ¿À¸·Î »ý¼ºµÈ ¿©·¯ ÅØ½ºÆ® ÁÙ·Î ±¸¼ºµÈ ÇØ´ç ÄÚµå ¼û±è ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù.
¸ñ·Ï 1. ASP.NET 1.xÀÇ ÄÚµå ¼û±è ÆÄÀÏ
namespace WebApplication1
{
public class WebForm1 : System.Web.UI.Page¿¡¼
{
protected System.Web.UI.WebControls.Label Label1;
private void Page_Load(object sender,
System.EventArgs e) { }
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
ÀÚµ¿À¸·Î »ý¼ºµÈ ÄÚµå´Â ·¹À̺í(±½°Ô Ç¥½ÃµÈ ÁÙ)À» Á¤ÀÇÇÒ »Ó ¾Æ´Ï¶ó »õ À̺¥Æ®(ÆäÀÌÁö ·Îµå)¸¦ ¼±¾ðÇϰí ÀÚµ¿À¸·Î »ý¼ºµÈ ¸Þ¼µå ·¡ÆÛ(Page_Load())¿¡ ÀÌ À̺¥Æ®¸¦ ÀÚµ¿À¸·Î ¿¬°áÇϱ⵵ ÇÕ´Ï´Ù.
ÀÌ¿¡ ºñÇØ ASP.NET 2.0¿¡¼ °°Àº ASP.NET ÆäÀÌÁö´Â ÈξÀ ±ò²ûÇÑ ÄÚµå ¼û±è ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.
¸ñ·Ï 2. ASP.NET 2.0ÀÇ ÄÚµå ¼û±è ÆÄÀÏ
namespace ASP {
public partial class Webform1_aspx
{
}
}
°³¹ßÀÚ´Â Label1¿¡ ÀÚµ¿À¸·Î ¾×¼¼½ºÇÏ¿© Çʿ信 µû¶ó À̺¥Æ®¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Page_Load À̺¥Æ®¸¦ Ãß°¡ÇÏ¿© ·¹À̺íÀ» ÃʱâÈÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸ñ·Ï 3. »õ ÄÚµå ¼û±è ÆÄÀÏÀÇ À̺¥Æ® Ãß°¡ ÀÛ¾÷
namespace ASP {
public partial class Webform1_aspx
{
void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Hello ASP.NET 2.0";
}
}
}
À̺¥Æ® ±¸¹®Àº Visual Studio .NETÀ» ÅëÇØ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. °á°ú·Î »ý¼ºµÇ´Â ÄÚµå ¼û±è ÆÄÀÏÀº ±æÀ̰¡ ÈξÀ ª°í ÀÚµ¿ »ý¼º Äڵ尡 ¾ø½À´Ï´Ù. ASP.NET ·±Å¸ÀÓÀº ÄÚµå ¼û±è ÆÄÀÏÀÇ À̺¥Æ®¸¦ ASPXÀÇ ÄÁÆ®·Ñ¿¡ ÀÚµ¿À¸·Î ¿¬°áÇÕ´Ï´Ù. Áï, ASP.NET ·±Å¸ÀÓÀº ÀÌÁ¦ Visual Studio¿¡¼ ¼öÇàÇß´ø ÄÚµå »ý¼º ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù.
»ó¼ÓÀÇ º¹À⼺
»õ ÄÚµå ¼û±è ¸ðµ¨¿¡¼´Â »ó¼ÓÀÇ º¹À⼺ÀÌ Å©°Ô ÁÙ¾ú½À´Ï´Ù. ASPX ÆäÀÌÁö°¡ ÄÚµå ¼û±è ÆÄÀÏ¿¡¼ Á÷Á¢ »ó¼ÓµÇÁö ¾ÊÀ¸¹Ç·Î, ÄÚµå ¼û±è ÆÄÀÏÀº ASPX ÆäÀÌÁö¿¡¼ Á¤ÀǵǴ ¸ðµç ÄÁÆ®·ÑÀ» ´õ ÀÌ»ó Á¤ÀÇ ¹× Áö¿øÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ¸¶Âù°¡Áö·Î ÄÚµå ¼û±è ÆÄÀÏÀº ASP.NET 1.x¿¡¼´Â ÇÊ¿äÇß´ø ¼±¾ð Äڵ尡 ¾ø¾îµµ ASPX ÆäÀÌÁö¿¡¼ ÄÁÆ®·Ñ¿¡ ÀÚµ¿À¸·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ASP.NET ·±Å¸ÀÓÀÌ ÇÊ¿äÇÑ ¼±¾ð ¹× À̺¥Æ® ÀÛ¼º Äڵ带 ÄÄÆÄÀÏµÈ ÃÖÁ¾ ÆÄÀÏ¿¡ ÀÚµ¿À¸·Î »ðÀÔÇϱ⠶§¹®¿¡ ÀÌ ¸ðµç ±â´ÉÀÌ °¡´ÉÇÑ °ÍÀÔ´Ï´Ù. ·±Å¸ÀÓÀÌ ÀÌ ÀÛ¾÷À» ó¸®ÇϹǷΠÄÚµå °³¹ßÀÚ³ª À¥ °³¹ßÀÚ´Â ÀÌ¿¡ ´ëÇØ ½Å°æ¾²Áö ¾Ê¾Æµµ µË´Ï´Ù.
µðÀÚÀÎÇÏ´Â µ¿¾È ¸µÅ©´Â Visual Studio 2005¿¡¼ °ü¸®µË´Ï´Ù. Visual Studio ȯ°æ¿¡¼´Â ASP.NET ·±Å¸ÀÓ ÄÄÆÄÀÏÀ» »ç¿ëÇÏ¿© ÄÚµå °³¹ßÀÚ¿Í À¥ °³¹ßÀÚ°¡ µ¿±âÈÇÏ¸é¼ ÀÛ¾÷ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
ÄÄÆÄÀÏÀÇ º¹À⼺
»õ ÄÚµå ¼û±è ÆÄÀÏÀº ASPX ÆäÀÌÁö¿¡ °áÇÕµÇ°í ½ÇÇà Áß¿¡ ¿ÏÀüÇÑ ´ÜÀÏ Å¬·¡½º·Î ÄÄÆÄÀϵDZ⠶§¹®¿¡ ÄÄÆÄÀÏÀÌ ÀüÇô º¹ÀâÇÏÁö ¾Ê½À´Ï´Ù. Áï, ÄÚµå ¼û±è ÆÄÀÏÀº ASPX ÆäÀÌÁö¿Í ÀÚµ¿À¸·Î µ¿±âȵ˴ϴÙ. »õ ÄÄÆÄÀÏ ¸ðµ¨À» »ç¿ëÇØµµ Äڵ尡 µ¿±âȵÇÁö ¾ÊÀ» ¼ö ÀÖÁö¸¸, ±× °á°ú·Î ¹ß»ýÇÏ´Â ¿¹¿Ü°¡ ÈξÀ ¸íÈ®Çϱ⠶§¹®¿¡ ¹®Á¦Á¡À» »¡¸® ÆÄ¾ÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÄÄÆÄÀÏ
ASP.NET 1.x¿¡ µµÀÔµÈ ÆäÀÌÁö ¸ðµ¨·Î ÀÎÇØ ASP.NET À¥ ÆäÀÌÁöÀÇ ÄÄÆÄÀÏ °úÁ¤Àº Ç×»ó µÎ ´Ü°è·Î ³ª´²Á® ÀÖ¾ú½À´Ï´Ù. ¸ÕÀú ÄÚµå ¼û±è ÆÄÀÏ ¹× ±âŸ Áö¿ø Ŭ·¡½º°¡ ¾î¼Àºí¸®·Î ÄÄÆÄÀÏµÈ ´ÙÀ½, ½ÇÇà Áß¿¡ °³º° ASPX ÆÄÀÏÀÌ ÄÄÆÄÀϵ˴ϴÙ. ÀÌ ¸ðµ¨¿¡´Â ¸¹Àº ÀåÁ¡ÀÌ ÀÖÁö¸¸ ¸î °¡Áö ´ÜÁ¡µµ ÀÖ½À´Ï´Ù. ASP.NET 2.0¿¡¼´Â »ç¿ëÀÚÀÇ Æ¯Á¤ ¿ä±¸¿¡ µû¶ó º¸´Ù ±¤¹üÀ§ÇÑ ÄÄÆÄÀÏ ¿É¼ÇÀ» Á¦°øÇÔÀ¸·Î½á ÀÌ ±âº» ¸ðµ¨¿¡ ´ëÇÑ ¸î °¡Áö ´ë¾ÈÀ» Á¦°øÇÕ´Ï´Ù.
ASP.NET 1.xÀÇ ÄÄÆÄÀÏ
ASP.NET 1.xÀÇ ±âº» ÄÄÆÄÀÏ ¸ðµ¨Àº ¿äûµÈ °¢ ASPX ÆäÀÌÁö¿¡ ´ëÇØ ÇϳªÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ ¾î¼Àºí¸®(ÄÄÆÄÀÏµÈ ¸ðµç ÄÚµå ¼û±è ÆÄÀÏ ¹× ±âŸ ¼Ò½º ÄÚµå Æ÷ÇÔ) ¹× ÇϳªÀÇ Àӽà ¾î¼Àºí¸®¸¦ ¸¸µé¾ú½À´Ï´Ù. Àϰý ó¸®¿Í °°Àº ÄÄÆÄÀÏ·¯ ÃÖÀûÈ·Î ÀÎÇØ Àӽà ASPX ÆäÀÌÁö°¡ µ¿ÀÏÇÑ ¾î¼Àºí¸®·Î ÄÄÆÄÀϵǴ °æ¿ìµµ ÀÖ½À´Ï´Ù. µÎ °¡Áö °æ¿ì ¸ðµÎ °¢ ASPX ÆäÀÌÁö´Â Àӽà ¾î¼Àºí¸®·Î ÄÄÆÄÀϵDZ⠶§¹®¿¡ ASP.NET ·±Å¸ÀÓÀ¸·Î ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×¸² 3. ASP.NET 1.xÀÇ ÄÄÆÄÀÏ
ÀÌ ¸ðµ¨¿¡´Â ÀåÁ¡µµ ÀÖÁö¸¸, µÎ °¡Áö ÁÖ¿ä ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ù°·Î, ASPX ÆäÀÌÁö´Â ÀÐÀ» ¼ö ÀÖ´Â Çü½ÄÀ¸·Î À¥ »çÀÌÆ®¿¡ ¹èÆ÷ÇØ¾ß ÇÕ´Ï´Ù. °³¹ßÀÚ°¡ ÄÚµå ÀζóÀÎ ¸ðµ¨À» »ç¿ëÇÑ °æ¿ì¿¡´Â ÀϺΠ¶Ç´Â Àüü ºñÁî´Ï½º ³í¸®¸¦ ÇÁ·Î´ö¼Ç ¼¹ö¿¡¼ ¹èÆ÷ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿ø½Ã ASPX ÆäÀÌÁö¸¦ Á¦°øÇÏÁö ¾Êµµ·Ï IIS ¹× ASP.NETÀ» ±¸¼ºÇÑ °æ¿ì¿¡µµ, ±â¼ú·ÂÀÌ ³ôÀº °ø°ÝÀÚ´Â À¥ ¼¹ö ¾×¼¼½º¸¦ ÅëÇØ ¿©ÀüÈ÷ ÆÄÀÏ¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. µÑ°·Î, ASP.NET ·±Å¸ÀÓÀÌ ASPX ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇØ¾ß Çϱ⠶§¹®¿¡ À¥ ÆäÀÌÁö¸¦ óÀ½ ¿äûÇÒ ¶§´Â ÀÀ´äÀÌ º¸Åë ¶§º¸´Ù ´Ê½À´Ï´Ù.
°³¹ßÀÚ°¡ ÀÌ ÇÁ·Î¼¼½º¿¡ ´ëÇØ Á¦¾îÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ »çÇ×Àº ASPX ÆäÀÌÁö Àϰý ÄÄÆÄÀÏ ¿©ºÎÀÔ´Ï´Ù. ASP.NET 1.x¿¡¼´Â <compilation> ű׸¦ ¼öÁ¤ÇÏ¿© web.config ÆÄÀÏ¿¡¼ Àϰý ÄÄÆÄÀÏÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸ñ·Ï 4. Àϰý ÄÄÆÄÀÏ ±¸¼º
<compilation
batch="true|false"
batchTimeout="½Ã°£(ÃÊ)"
maxBatchSize="Àϰý ÄÄÆÄÀÏ´ç ÃÖ´ë ÆäÀÌÁö ¼ö"
maxBatchGeneratedFileSize="Àϰý ÄÄÆÄÀÏ´ç »ý¼ºµÇ´Â
¼Ò½º ÆÄÀÏÀÇ ÃÖ´ë °áÇÕ Å©±â(KB)"
</compilation>(Âü°í: ÇÁ·Î±×·¡¸Ó ÄÚ¸àÆ®´Â »ùÇà ÇÁ·Î±×·¥ ÆÄÀÏ¿¡´Â ¿µ¹®À¸·Î Á¦°øµÇ¸ç ±â»ç¿¡´Â ¼³¸íÀ» À§ÇØ ¹ø¿ª¹®À¸·Î Á¦°øµË´Ï´Ù.)
Àϰý ÄÄÆÄÀÏÀ» »ç¿ëÇϸé À¥ ÆäÀÌÁö¸¦ óÀ½ ¿äûÇÒ ¶§ ½ÃÀÛ ½Ã°£Àº ±æ¾îÁö´Â ´ë½Å ·Îµå ½Ã°£ÀÌ ÁÙ¾îµì´Ï´Ù. Àϰý ÄÄÆÄÀÏÀÇ µÎ ¹øÂ° ÀåÁ¡Àº ¸ðµç ASPX ÆÄÀÏÀÌ ÆäÀÌÁö´ç ÇϳªÀÇ Àӽà ¾î¼Àºí¸®·Î ÄÄÆÄÀϵÇÁö ¾Ê°í ´ÜÀÏ Àӽà ¾î¼Àºí¸®·Î ÄÄÆÄÀϵȴٴ Á¡ÀÔ´Ï´Ù.
ASP.NET 2.0ÀÇ ÄÄÆÄÀÏ
ASP.NET 2.0¿¡¼´Â À¥ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇØ ´ÙÀ½°ú °°Àº 4°¡Áö ÄÄÆÄÀÏ ¸ðµ¨À» Á¦°øÇÕ´Ï´Ù.
ÀϹÝ(ASP.NET 1.x)-ÀÏ¹Ý ASP.NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÄÚµå ¼û±è ÆÄÀÏÀº ¾î¼Àºí¸®·Î ÄÄÆÄÀϵǾî /bin µð·ºÅ͸®¿¡ ÀúÀåµË´Ï´Ù. ¿äû ½Ã À¥ ÆäÀÌÁö(ASPX)°¡ ÄÄÆÄÀϵ˴ϴÙ. ÀÌ ¸ðµ¨Àº ´ëºÎºÐÀÇ À¥ »çÀÌÆ®¿¡ ÀûÇÕÇÕ´Ï´Ù. ±×·¯³ª ÄÄÆÄÀÏ ÇÁ·Î¼¼½º·Î ÀÎÇØ óÀ½ ASP.NET ÆäÀÌÁö¸¦ ¿äûÇÒ ¶§ ÈÄ¼Ó ¿äû¿¡ ºñÇØ ¼Óµµ°¡ ´À¸³´Ï´Ù. ASP.NET 2.0¿¡¼µµ ÀÌ ÄÄÆÄÀÏ ¸ðµ¨À» Áö¿øÇÕ´Ï´Ù.
Àϰý ÄÄÆÄÀÏ-ASP.NET 2.0¿¡¼´Â ´ÜÀÏ URL ¿äûÀ¸·Î ÀÀ¿ë ÇÁ·Î±×·¥À» Àϰý ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ASP.NET 1.x¸¦ »ç¿ëÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î, Àϰý ÄÄÆÄÀÏÀ» »ç¿ëÇϸé óÀ½ ÆäÀÌÁö¸¦ ¿äûÇÒ ¶§´Â Áö¿¬µÇÁö ¾ÊÁö¸¸ ½ÃÀÛ ½Ã Áֱ⠽ð£ÀÌ ±æ¾îÁý´Ï´Ù. ¶ÇÇÑ Àϰý ÄÄÆÄÀÏÀ» »ç¿ëÇÏ·Á¸é ¿©ÀüÈ÷ ÄÚµå ¼û±è ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¿© ¹Ì¸® ¹èÆ÷ÇØ¾ß ÇÕ´Ï´Ù.
¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷-ASP.NET 2.0ÀÇ »õ ±â´ÉÀ» »ç¿ëÇÏ¸é ¹èÆ÷Çϱâ Àü¿¡ ÇÁ·ÎÁ§Æ®¸¦ ¿ÏÀüÈ÷ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. Àüü ÄÄÆÄÀÏ¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ Å©±â¿Í ÄÄÆÄÀÏ ¼³Á¤¿¡ µû¶ó ¸ðµç ÄÚµå ¼û±è ÆÄÀÏ, ASPX ÆäÀÌÁö, HTML, ±×·¡ÇÈ ¸®¼Ò½º ¹× ±âŸ ¹é¿£µå Äڵ尡 ½ÇÇà °¡´ÉÇÑ Çϳª ÀÌ»óÀÇ ¾î¼Àºí¸®·Î ÄÄÆÄÀϵ˴ϴÙ. ÀÌ ¾î¼Àºí¸®¿¡´Â À¥ »çÀÌÆ®ÀÇ ÄÄÆÄÀÏµÈ Äڵ尡 ¸ðµÎ Æ÷ÇԵǸç, ¸®¼Ò½º ÆÄÀÏ ¹× ±¸¼º ÆÄÀÏÀÌ ¼öÁ¤µÇÁö ¾Ê°í º¹»çµË´Ï´Ù. ÀÌ ÄÄÆÄÀÏ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ¼º´É°ú º¸¾ÈÀ» ÃÖ»óÀ¸·Î À¯ÁöÇÒ ¼ö ÀÖÁö¸¸ ¹èÆ÷ ÈÄ¿¡ À¥ »çÀÌÆ®¸¦ ¼öÁ¤ÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ±²ÀåÈ÷ ½Ã°¢ÀûÀ̰ųª ¾ÈÀüÇÑ À¥ »çÀÌÆ®·Î ÀÛ¾÷ÇÏ´Â °æ¿ì ÀÌ ¿É¼ÇÀº ÃÖÁ¾ÀûÀ¸·Î ¹èÆ÷ÇÒ ¶§ ÀûÇÕÇÕ´Ï´Ù. ±×·¯³ª ·ÎÄà ÀÎÆ®¶ó³Ý¿¡¼ ½ÇÇàµÇ¸ç ÀÚÁÖ º¯°æµÇ´Â ¼Ò±Ô¸ð »çÀÌÆ®¸¦ ¸¸µå´Â °æ¿ì ¹Ì¸® Àüü¸¦ ÄÄÆÄÀÏÇÏ´Â ÀÛ¾÷Àº ºÒÇÊ¿äÇÕ´Ï´Ù.
½ÇÇà Áß¿¡ Àüü ÄÄÆÄÀÏ-¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷ÇÏ´Â ¹æ¹ý°ú ¹Ý´ë·Î, ASP.NET 2.0¿¡¼´Â ½ÇÇà Áß¿¡ Àüü ÀÀ¿ë ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ´Â »õ ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÕ´Ï´Ù. Áï, ÄÄÆÄÀϵÇÁö ¾ÊÀº ÄÚµå ¼û±è ÆÄÀÏ ¹× ±âŸ °ü·Ã Äڵ带 »õ ÄÚµå µð·ºÅ͸®¿¡ ¹èÄ¡ÇÑ ´ÙÀ½ ½ÇÇà Áß¿¡ ÀÌ ÆÄÀϷκÎÅÍ »ý¼ºµÉ ¾î¼Àºí¸®ÀÇ ÂüÁ¶¸¦ ASP.NET 2.0¿¡¼ ÀÚµ¿À¸·Î ¸¸µé¾î À¯ÁöÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¸é °¡Àå À¶Å뼺 ÀÖ°Ô À¥ »çÀÌÆ® ÄÜÅÙÃ÷¸¦ º¯°æÇÒ ¼ö ÀÖÁö¸¸ ÄÄÆÄÀϵÇÁö ¾ÊÀº Äڵ带 ¼¹ö¿¡ ÀúÀåÇØ¾ß ÇÕ´Ï´Ù.
ȯ°æ°ú ¿ä±¸ »çÇ׿¡ °¡Àå ÀûÇÕÇÑ ÄÄÆÄÀÏ ¿É¼ÇÀ» ¼±ÅÃÇÒ ¼ö ÀÖÁö¸¸, ÄÄÆÄÀÏ ¸ðµ¨¿¡´Â Ç×»ó À¶Å뼺ÀÌ ÀÖ½À´Ï´Ù. ÄÚµå µð·ºÅ͸®¸¦ »ç¿ëÇÏ¿© ÄÚµå ¼û±è ÆÄÀÏÀ» ÀúÀåÇÏ´Â °æ¿ì¿¡µµ Àüü ÄÄÆÄÀÏ ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥À» ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Àϰý ÄÄÆÄÀÏ
ASP.NET 2.0¿¡¼µµ web.config Àϰý ÄÄÆÄÀÏ ¼³Á¤À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Àϰý ÄÄÆÄÀÏÀÇ ÀåÁ¡Àº ù »ç¿ëÀÚ°¡ ÆäÀÌÁö¸¦ Áï½Ã »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Àϰý ÄÄÆÄÀÏ ÀÛ¾÷ Áß¿¡ ASPX ÆäÀÌÁöÀÇ ¿À·ù°¡ °Ë»öµÈ´Ù´Â Á¡ÀÔ´Ï´Ù. ±×·¯³ª Àϰý ÄÄÆÄÀÏÀ» »ç¿ëÇϸé ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÃÀÛÇÒ ¶§ Áö¿¬ÀÌ ¹ß»ýÇϸç web.config ÆÄÀÏ¿¡¼ Àϰý ÄÄÆÄÀÏÀ» ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù.
¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷
¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷ÇÏ´Â °æ¿ì À¥ »çÀÌÆ®ÀÇ ½ÇÇà ÆÄÀÏ ¹öÀüÀÎ ¾î¼Àºí¸®¸¦ Çϳª ÀÌ»ó ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ±× °á°ú·Î »ý±â´Â ¾î¼Àºí¸®¿¡´Â À¥ »çÀÌÆ®ÀÇ ÄÄÆÄÀÏ Äڵ尡 Æ÷ÇԵ˴ϴÙ. HTML ÆäÀÌÁö, ¸®¼Ò½º, ±¸¼º ÆÄÀÏ ¹× ASPX ÆäÀÌÁö´Â º°µµ·Î º¹»çµË´Ï´Ù.
¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷ÇÏ·Á¸é aspnet_compiler.exe¶ó´Â ¸í·ÉÁÙ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â ´ë»ó ¹èÆ÷ µð·ºÅ͸®¸¦ ¸¸µå´Âµ¥, ÀÌ µð·ºÅ͸®¿¡´Â ´Ù¾çÇÑ ASPX ÆäÀÌÁöÀÇ ¾î¼Àºí¸® ¹× ½ºÅÓ ÆÄÀÏÀÌ ÀÖ´Â /bin µð·ºÅ͸®°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇϸé "magic page"(¸¶¹ý ÆäÀÌÁö)¸¦ È£ÃâÇÏ´Â µ¿ÀÛ°ú ºñ½ÁÇÏ°Ô ÇöÀç À§Ä¡¿¡¼ ¹Ì¸® ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ½ºÅÓ ÆÄÀÏÀº ASPX ÆäÀÌÁö¿Í À̸§ÀÌ °°Áö¸¸ ÄÄÆÄÀÏµÈ ¾î¼Àºí¸®·Î È£ÃâµÇ´Â ´Ü¼ø Äڵ带 Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. Áï, ASPX ÆäÀÌÁö´Â ¿ÏÀüÇÑ ±â´ÉÀ» °®Ãá ÆäÀÌÁö¶ó±âº¸´Ù´Â ´Ü¼øÈ÷ ºó ¼ÐÀÔ´Ï´Ù.
À¥ »çÀÌÆ®¸¦ ¹Ì¸® ±¸¼ºÇÏ¿© ¹èÆ÷ÇÏ¸é ¾î¼Àºí¸®¸¦ µðÄÄÆÄÀÏÇÏÁö ¾Ê°í¼´Â Äڵ忡 ¾×¼¼½ºÇÒ ¼ö ¾ø±â ¶§¹®¿¡ º¸¾ÈÀÌ Å©°Ô Çâ»óµË´Ï´Ù. º¸¾ÈÀ» ´õ¿í Çâ»ó½ÃŰ·Á¸é ÄÄÆÄÀÏÀÇ °á°ú¹°ÀÎ ¾î¼Àºí¸®¸¦ ÆÇµ¶ÇÏ±â ¾î·Æ°Ô ó¸®ÇÏ¿© À¥ ÀÀ¿ë ÇÁ·Î±×·¥À» ´õ¿í ¾ÈÀüÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷ÇÏ´Â ¹æ¹ýÀÇ °¡Àå Å« ´ÜÁ¡Àº ÀÌ ´Ü°è¸¦ ¹èÆ÷ Àü¿¡ ¼öÇàÇØ¾ß Çϱ⠶§¹®¿¡ ¹èÆ÷ÇÑ ÈÄ¿¡´Â À¥ »çÀÌÆ®¸¦ º¯°æÇÒ ¼ö ¾ø´Ù´Â Á¡ÀÔ´Ï´Ù. À¥ »çÀÌÆ®¸¦ º¯°æÇÏ·Á¸é À¥ »çÀÌÆ®¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏ¿© ´Ù½Ã ¹èÆ÷ÇØ¾ß ÇÕ´Ï´Ù.
¹Ì¸® ÄÄÆÄÀÏÇÏ¿© ¹èÆ÷ÇÏ´Â ¿É¼ÇÀº À¥ ¼¹ö¿¡ ¹èÆ÷µÇ´Â ¿ø½Ã ÄÚµåÀÇ ¾çÀ» ÁÙÀ̰í ÃÖ°íÀÇ º¸¾ÈÀ» Á¦°øÇϱ⠶§¹®¿¡ ´ëºÎºÐÀÇ ÁÖ¿ä À¥ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ¹èÆ÷¿¡ »ç¿ëµÇ´Â ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. »ý»ê¼ºÀ» Å©°Ô ÀúÇϽÃŰÁö ¾Ê°í ÀÌ Çâ»óµÈ ÇÁ·Î¼¼½º¸¦ ÀÏ¹Ý °³¹ß/Å×½ºÆ®/¹èÆ÷ Áֱ⿡ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÇÇà Áß¿¡ Àüü ÄÄÆÄÀÏ(ÄÚµå µð·ºÅ͸®)
Áö±Ý±îÁö ¼³¸íÇÑ ¼¼ °¡Áö ÄÄÆÄÀÏ ¹æ¹ý ¸ðµÎ, ¹èÆ÷Çϱâ Àü¿¡ ¸ðµç ÄÚµå ÆÄÀÏ(ÄÚµå ¼û±è ÆÄÀÏ ¹× Áö¿ø Ŭ·¡½º)À» ÄÄÆÄÀÏÇØ¾ß ÇÕ´Ï´Ù. ASP.NET 2.0¿¡¼´Â ÄÚµå µð·ºÅ͸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÄÚµå µð·ºÅ͸®´Â ÄÄÆÄÀϵÇÁö ¾ÊÀº Ŭ·¡½º¸¦ º¸°üÇϴ Ư¼ö µð·ºÅ͸®ÀÔ´Ï´Ù. ½ÇÇà Áß¿¡ ASP.NET ·±Å¸ÀÓÀº ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ASPX ÆäÀÌÁö°¡ ÀÚµ¿À¸·Î ÂüÁ¶ÇÏ´Â ¾î¼Àºí¸®·Î ÀÌ µð·ºÅ͸®ÀÇ ÄÜÅÙÃ÷¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù. Áï, ÄÚµå µð·ºÅ͸®¸¦ »ç¿ëÇÔÀ¸·Î½á Áö¿ø Äڵ忡 ´ëÇØ º°µµÀÇ ¾î¼Àºí¸®¸¦ ¸¸µé°í ÂüÁ¶ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ÄÚµå µð·ºÅ͸®ÀÇ ÀåÁ¡Àº ÇÁ·ÎÁ§Æ®¸¦ ¿ÏÀüÈ÷ ÄÄÆÄÀÏÇÏÁö ¾Ê°í ¹èÆ÷ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀáÀçÀûÀÎ ºÒÀÏÄ¡ ¹®Á¦¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù´Â Á¡À̸ç, ´ÜÁ¡Àº ¼¹ö¿¡¼ ÄÄÆÄÀϵÇÁö ¾ÊÀº Äڵ尡 ³ëÃâµÈ´Ù´Â Á¡ÀÔ´Ï´Ù.
ÀÌ ¿É¼ÇÀº ÄÚµå ¼û±è ÆÄÀÏ ¶Ç´Â ¿ÜºÎ °³Ã¼ÀÇ Çü½ÄÀ¸·Î Áö¿ø Äڵ尡 ¸¹ÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº ASP.NET ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀûÇÕÇÕ´Ï´Ù. °£´ÜÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â ½Ã½ºÅÛÀ» ºü¸£°Ô ¹èÆ÷ ¹× Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» »ç¿ëÇÏ´Â °ÍÀÌ º¸´Ù °·ÂÇÑ ÄÄÆÄÀÏ ¹æ¹ýÀ» »ç¿ëÇÏ´Â °Í¿¡ ºñÇØ ´õ À¯¸®ÇÕ´Ï´Ù.
ÆäÀÌÁö ÁÖ±â
ASP.NET 2.0¿¡¼´Â ASP.NET ÆäÀÌÁöÀÇ Áֱ⿡¼ µÎ °¡Áö ÁÖ¿ä »çÇ×ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ù°·Î, ASP.NET 2.0¿¡¼´Â »õ À̺¥Æ®¸¦ Á¦°øÇÏ¿© ¸¶½ºÅÍ ÆäÀÌÁö, °³ÀÎ ¼³Á¤, ÅëÇÕ ¸ð¹ÙÀÏ ÀåÄ¡ Áö¿ø µîÀÇ »õ ±â´ÉÀ» Áö¿øÇÕ´Ï´Ù. µÑ°·Î, ASP.NET 2.0¿¡´Â Web FormsÀÇ ÆäÀÌÁö °£ °Ô½Ã ±â´ÉÀÌ µµÀԵǾú½À´Ï´Ù.
»õ À̺¥Æ®
ASP.NET 2.0¿¡¼´Â ASP.NET 1.x¿¡ ºñÇØ º¸´Ù ¼¼ºÐÈµÈ ÆäÀÌÁö Áֱ⠸޼µå ½ºÅÃÀ» Á¦°øÇÕ´Ï´Ù. Ãß°¡µÈ ¸Þ¼µå´Â À¥ °³¹ßÀÚ¿¡°Ô º¸´Ù Çâ»óµÈ Á¦¾î ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ASP.NET ÆäÀÌÁöÀÇ Page °³Ã¼¸¦ ÅëÇØ ÀÌ·¯ÇÑ À̺¥Æ®¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ç¥ 1Àº ±¤¹üÀ§ÇÑ ¸Þ¼µå ¸ñ·ÏÀ» º¸¿© ÁÝ´Ï´Ù. ¸Þ¼µå ¿¿¡´Â ½ÇÁ¦ À̺¥Æ® ¸Þ¼µå À̸§ÀÌ Ç¥½ÃµÇ¸ç, Ȱ¼º ¿Àº À̺¥Æ®°¡ Ç×»ó Ȱ¼º »óÅÂÀÎÁö ¾Æ´Ï¸é PostBack ÀÛ¾÷ µ¿¾È¿¡¸¸ Ȱ¼ºÈµÇ´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î »õ TestDeviceFilter ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© ¾î¶² ÀåÄ¡ ÇÊÅͰ¡ ÀÖ´ÂÁö È®ÀÎÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ Á¤º¸¸¦ ÅëÇØ ÆäÀÌÁö Ç¥½Ã ¹æ¹ýÀ» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ý¸é¿¡ »õ LoadControlState ¸Þ¼µå´Â Æ÷½ºÆ®¹é(postback) µ¿¾È¿¡¸¸ Ȱ¼ºÈµË´Ï´Ù. SaveControlState¿Í ÇÔ²² ÀÌ ¸Þ¼µå¸¦ ÀçÁ¤ÀÇÇÏ¿© Æ÷½ºÆ®¹é(postback) µ¿¾È ÄÁÆ®·Ñ »óŸ¦ ÀúÀå ¹× º¹¿øÇϱâ À§ÇÑ ´ëü serialization ±¸¼ºÇ¥¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
Ç¥ 1. ÆäÀÌÁö Áֱ⠸޼µå
¸Þ¼µå Ȱ¼º
Constructor Ç×»ó
Construct Ç×»ó
TestDeviceFilter Ç×»ó
AddParsedSubObject Ç×»ó
DeterminePostBackMode Ç×»ó
OnPreInit Ç×»ó
LoadPersonalizationData Ç×»ó
InitializeThemes Ç×»ó
OnInit Ç×»ó
ApplyControlSkin Ç×»ó
ApplyPersonalization Ç×»ó
OnInitComplete Ç×»ó
LoadPageStateFromPersistenceMedium PostBack
LoadControlState PostBack
LoadViewState PostBack
ProcessPostData1 PostBack
OnPreLoad Ç×»ó
OnLoad Ç×»ó
ProcessPostData2 PostBack
RaiseChangedEvents PostBack
RaisePostBackEvent PostBack
OnLoadComplete Ç×»ó
OnPreRender Ç×»ó
OnPreRenderComplete Ç×»ó
SavePersonalizationData Ç×»ó
SaveControlState Ç×»ó
SaveViewState Ç×»ó
SavePageStateToPersistenceMedium Ç×»ó
Render Ç×»ó
OnUnload Ç×»ó
ÆäÀÌÁö Áֱ⿡ ´ëÇØ °£´ÜÈ÷ »ìÆìº¸¸é, Å׸¶¿Í °³ÀÎ ¼³Á¤ °°ÀÌ ASP.NET 2.0¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿©·¯ ±â´ÉÀÌ ÀÚ¿¬½º·´°Ô ±¸ÇöµÇ´Â À§Ä¡¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Å׸¶´Â IntializeThemes À̺¥Æ®¿¡¼ ó¸®µÇ¸ç °³ÀÎ ¼³Á¤ µ¥ÀÌÅÍ´Â LoadPersonalizationData¿¡¼ ·ÎµåµÈ ´ÙÀ½ ³ªÁß¿¡ ApplyPersonalization ¸Þ¼µå¿¡¼ Àû¿ëµË´Ï´Ù. ¾î¶² UI ¿ä¼Ò°¡ À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÃÖÁ¾ÀûÀÎ ¸ð¾ç°ú ´À³¦À» °áÁ¤ÇÏ´ÂÁö¿Í °ü·ÃÇÏ¿© ¸Þ¼µå ¼ø¼´Â ¸Å¿ì Áß¿äÇÕ´Ï´Ù.
ÆäÀÌÁö °£ °Ô½Ã
ÆäÀÌÁö ÁÖ±âÀÇ µÎ ¹øÂ° ÁÖ¿ä º¯°æ »çÇ×Àº Æ÷½ºÆ®¹é(post back) À̺¥Æ® ¹× Web Forms °ü·Ã »çÇ×ÀÔ´Ï´Ù. ASP.NET 1.x¿¡¼´Â Web Forms°¡ È£½ºÆ® ÆäÀÌÁö·Î ÀÚµ¿ Æ÷½ºÆ®¹é(postback)µË´Ï´Ù. Áï, »ç¿ëÀÚ°¡ ¾ç½ÄÀ» Á¦ÃâÇÏ¸é ¾ç½Ä µ¥ÀÌÅÍ´Â ¿ø·¡ ¾ç½ÄÀÌ Æ÷ÇÔµÈ ÆäÀÌÁö·Î Ç×»ó ´Ù½Ã Àü¼ÛµË´Ï´Ù. ÀÌ ¹æ¹ýÀ¸·Î µðÀÚÀÎÇϸé ÄÁÆ®·Ñ »óŸ¦ ½±°Ô ÀúÀåÇÒ ¼ö ÀÖÁö¸¸ °³¹ßÀÚ°¡ º¸´Ù º¹ÀâÇÑ ÀÛ¾÷À» ¼öÇàÇÏ´Â µ¥ Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù.
ASP.NET 2.0¿¡¼´Â °³¹ßÀÚ°¡ ¾ç½Ä µ¥ÀÌÅ͸¦ Á¦ÃâÇÏ´Â À§Ä¡¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Â »õ ¼Ó¼ºÀÌ Web Form ÄÁÆ®·Ñ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡´Â Æ÷½ºÆ®¹é(postback) ¸ÞÄ¿´ÏÁòÀÌ ÀûÇÕÇϹǷΠ¿©ÀüÈ÷ ÀÌ ¸ÞÄ¿´ÏÁòÀÌ ±âº»°ªÀÔ´Ï´Ù. ±×·¯³ª ÀÌÁ¦ °³¹ßÀÚ´Â ´Ù¸¥ µ¥ÀÌÅ͸¦ ´Ù¸¥ ¾ç½Ä¿¡ °Ô½ÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
±×¸² 4. Æ÷½ºÆ®¹é(Postback) ¹× ÆäÀÌÁö °£ °Ô½Ã
¿¹¸¦ µé¾î ¿©·¯ °¡Áö ¾ç½ÄÀ¸·Î ±¸¼ºµÈ ´ÙÁß ÆäÀÌÁö ¸¶¹ý»ç¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÃÖÁ¾ À¯È¿¼º °Ë»ç°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿ä¾à ÆäÀÌÁö¿¡ µµ´ÞÇÒ ¶§±îÁö °¢ ¾ç½ÄÀº ¼ø¼´ë·Î ´ÙÀ½ ÆäÀÌÁö·Î Á¦ÃâµË´Ï´Ù. PreviousPage °³Ã¼¸¦ »ç¿ëÇÏ¿© ÇöÀç ÄÁÅØ½ºÆ®¿¡¼ ¸¶Áö¸· ÆäÀÌÁöÀÇ µ¥ÀÌÅÍ¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. PreviousPage °³Ã¼´Â ÇöÀç ÆäÀÌÁö¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÌÀü ÆäÀÌÁö¿¡¼ À¯È¿¼ºÀ» °Ë»çÇÑ µ¥ÀÌÅ͸¦ ÀúÀåÇÕ´Ï´Ù. ÀÌ °³Ã¼ ´öºÐ¿¡ ÆäÀÌÁö °£ °Ô½Ã¸¦ »ç¿ëÇÒ ¶§ ÄÁÆ®·ÑÀ» À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÃÄö½º¿¡¼ ¾ç½Ä ÇÑ °³¸¦ ¹é¾÷ÇØ¾ß ÇÏ´Â °æ¿ì ÆäÀÌÁö µ¥ÀÌÅÍ¿¡ Áï½Ã ¾×¼¼½ºÇÒ ¼ö ÀÖÀ¸¸ç ¸ðµç µ¥ÀÌÅ͸¦ ´Ù½Ã ÀÔ·ÂÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.
È®À强
ASP.NETÀº ¿ø·¡ °³¹æÇü ÇÁ·¹ÀÓ¿öÅ©·Î µðÀÚÀεǾú½À´Ï´Ù. Áï, ASP.NETÀ» ±¸¼ºÇÏ´Â ´ëºÎºÐÀÇ ¸ðµâ ¹× ±¸¼º ¿ä¼Ò¸¦ Çʿ信 ¸Â°Ô È®Àå, ¼öÁ¤ ¶Ç´Â ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù. ASP.NET 2.0¿¡¼´Â ÀÌÁ¦ ÇÁ·¹ÀÓ¿öÅ©ÀÇ Ç¥ÁØÀÌ µÈ »õ HTTPHandlers ¹× HTTPModules¸¦ ÅëÇØ ÇÁ·¹ÀÓ¿öÅ©ÀÇ È®À强À» ´õ¿í ¸íÈ®ÇÏ°Ô È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿äû ÆÄÀÌÇÁ¶óÀÎ
ASP.NET¿¡¼ ¿äûÀº À¥ ¼¹ö·ÎºÎÅÍ ISAPI(ÀÎÅÍ³Ý ¼¹ö ÀÀ¿ë ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º) ÇÊÅ͸¦ ÅëÇØ ½ÇÁ¦ ASP.NET ·±Å¸ÀÓÀ¸·Î Àü´ÞµË´Ï´Ù.
±×¸² 5. ¿äû ÆÄÀÌÇÁ¶óÀÎ
IIS¿¡¼ ¿äûÀ» ¹ÞÀ¸¸é IIS ¼³Á¤¿¡ µû¶ó È®Àå¸íÀÌ ISAPI ÇÊÅÍ¿¡ ¸ÅÇε˴ϴÙ. .aspx, .asmx, .asd µîÀÇ È®Àå¸íÀº aspnet_isapi.dll·Î ¸ÅÇε˴ϴÙ. aspnet_isapi.dllÀº ASP.NET ·±Å¸ÀÓÀ» ½ÃÀÛÇÏ´Â ISAPI ÇÊÅÍÀÔ´Ï´Ù. ¿äûÀÌ ¹ß»ýÇϸé ASP.NET ·±Å¸ÀÓÀº ASP.NET À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ È£½ºÆ® ¿ªÇÒÀ» ÇÏ´Â HTTPApplication °³Ã¼¿¡¼ ½ÃÀ۵˴ϴÙ. HTTPApplication °³Ã¼´Â ´ÙÀ½°ú °°Àº µ¿ÀÛÀ» ¼öÇàÇÕ´Ï´Ù.
ÄÄÇ»ÅÍ ¹× ÀÀ¿ë ÇÁ·Î±×·¥ ¼öÁØÀÇ ±¸¼º ÆÄÀÏÀ» ÀнÀ´Ï´Ù.
Çϳª ÀÌ»óÀÇ HTTPModule ÀνºÅϽº¸¦ ÅëÇØ ¿äûÀ» Àü´ÞÇÕ´Ï´Ù. °¢ HTTPModuleÀº ¼¼¼Ç À¯Áö °ü¸®, ÀÎÁõ ¶Ç´Â ÇÁ·ÎÇÊ À¯Áö °ü¸®¿Í °°Àº ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ¸ðµâÀº ¿äûÀ» ´Ù½Ã HTTPApplicationÀ¸·Î Àü´ÞÇÕ´Ï´Ù.
µ¿»ç ¹× °æ·Î¸¦ ±âÁØÀ¸·Î ¿äûÀ» HTTPHandler·Î Àü´ÞÇÕ´Ï´Ù. µ¿»ç´Â ¿äû(GET, POST, FTP µî)¿¡ »ç¿ëµÈ HTTP µ¿»ç¸¦ ÂüÁ¶Çϸç, °æ·Î´Â ÀÀ¿ë ÇÁ·Î±×·¥ ³»ÀÇ URLÀ» ÂüÁ¶ÇÕ´Ï´Ù. 󸮱⸦ ±¸¼ºÇÏ´Â ¹æ¹ý¿¡ µû¶ó ¿äûÀ» ASP.NET ÆäÀÌÁö·Î ó¸®ÇÒ ¼öµµ ÀÖ°í, ¿äûÀ¸·Î ÀÎÇØ ¸ðµç À¥ ÆäÀÌÁöÀÇ Àϰý ÄÄÆÄÀÏ µî ´Ù¸¥ µ¿ÀÛÀÌ È£ÃâµÉ ¼öµµ ÀÖ½À´Ï´Ù(System.Web.UI.Page´Â IHTTPHandler¸¦ ±¸ÇöÇÑ °ÍÀ̸ç precomiplation.asd´Â PrecompHandler¸¦ È£ÃâÇÔ).
ASP.NET 2.0¿¡¼µµ ÀÌ ¸ðµ¨Àº ±×´ë·Î À¯ÁöµÇÁö¸¸, ´Ù¾çÇÑ ¸ðµâ ¹× 󸮱Ⱑ »õ·Î Ãß°¡µÇ¾î ´õ ¸¹Àº ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. ASP.NET 1.x¿¡¼¿Í ¸¶Âù°¡Áö·Î ¸ðµâ ¶Ç´Â 󸮱â Ŭ·¡½º¸¦ È®Àå, ´ëü ¶Ç´Â À籸¼ºÇÏ¿© »ç¿ëÀÚ ÁöÁ¤ ±â´ÉÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
»õ ¸ðµâ
»õ HTTPModules°¡ Ãß°¡µÇ¾î ASP.NET 2.0¿¡¼ Á¦°øµÇ´Â »õ·Î¿î ¼ºñ½º¸¦ Áö¿øÇÕ´Ï´Ù. ƯÈ÷ ±âº» ¸ðµâ ¼³Á¤ÀÌ ÁöÁ¤µÈ ASP.NET ÀÀ¿ë ÇÁ·Î±×·¥¿¡´Â ´ÙÀ½¿¡ ´ëÇÑ »õ ¸ðµâÀÌ Æ÷ÇԵ˴ϴÙ.
SessionID-ASP.NET 1.x ¼¼¼Ç ¸ðµâ¿¡¼ ¼¼¼Ç ID ¸ÞÄ¿´ÏÁòÀÌ ºÐ¸®µÇ¾î ÄíŰ, URL ´Ù½Ã ÀÛ¼º ¹× ±âŸ ¼¼¼Ç ID »ý¼º ¾ç½ÄÀ» º¸´Ù È¿°úÀûÀ¸·Î Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿ªÇÒ °ü¸®-»õ ¸ðµâÀÌ Ãß°¡µÇ¾î »õ »ç¿ëÀÚ ID ¸ÞÄ¿´ÏÁòÀ» Áö¿øÇÏ´Â ¿ªÇÒ ±â¹Ý ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇϸé .NET ÇÁ·¹ÀÓ¿öÅ©¿¡ ±¸ÃàµÈ ¿ªÇÒ ±â¹Ý º¸¾È¿¡ ASP.NET ÀÀ¿ë ÇÁ·Î±×·¥À» ½±°Ô ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
À͸í ID-»õ °³ÀÎ ¼³Á¤ ±â´ÉÀº ÀÍ¸í »ç¿ëÀÚ¸¦ Áö¿øÇÕ´Ï´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇϸé ÀÍ¸í »ç¿ëÀÚ°¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ±â´É ¹× ¿äû °£¿¡ ÀÌ ±â´ÉÀÌ À¯Áö °ü¸®µÇ´Â ¹æ¹ýÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇÁ·ÎÇÊ-ÇÁ·ÎÇÊ ¸ðµâÀº »õ ÇÁ·ÎÇÊ ¼ºñ½º¿¡ ¿¬°áµÇ¸ç »ç¿ëÀÚº° ¿µ±¸ µ¥ÀÌÅÍ ÀúÀå¼Ò¸¦ Á¦°øÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
ÆäÀÌÁö Ä«¿îÅÍ-ASP.NET 2.0Àº »õ ¸ðµâÀ» ÅëÇÕÇÏ¿© ÆäÀÌÁö Ä«¿îÅÍ¿¡ ¿¬°áÇϰí À¥ Æ®·¡ÇÈÀÇ Åë°è ºÐ¼® ±â´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù.
ÀÌ·¯ÇÑ »õ ¸ðµâ ¿Ü¿¡µµ, ÀϺΠÀÌÀü ¸ðµâÀÇ µ¿ÀÛÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ¿¹¸¦ µé¾î Ãâ·Â ij½Ì ¸ðµâÀº ÀÌ ¹é¼ µÞºÎºÐ¿¡ ¼³¸íÇÒ »õ ij½Ì ±â¼úÀ» Áö¿øÇÕ´Ï´Ù.
»õ 󸮱â
»õ ¸ðµâ ¿Ü¿¡µµ, ASP.NET 2.0¿¡´Â ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º µµ±¸ ¹× Àϰý ÄÄÆÄÀÏ ¿äû µîÀÇ ±âŸ »õ ±â´ÉÀ» Áö¿øÇϴ ó¸®±â°¡ »õ·Î Ãß°¡µÇ¾ú½À´Ï´Ù. »õ 󸮱â Áß °¡Àå Áß¿äÇÑ Ã³¸®±â¿¡´Â À¥ »çÀÌÆ® °ü¸® ¿äûÀ» ó¸®ÇÏ´Â ".axd" ÆÐ¹Ð¸®°¡ ÀÖ½À´Ï´Ù. ÀÌ Ã³¸®±â´Â °³¹ßÀÚ°¡ ASP.NET »ç¿ëÀÚ ¹× ±âŸ ¼³Á¤À» ±¸¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ³»ºÎ °ü¸® µµ±¸¸¦ ½ÃÀÛÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °ü¸® 󸮱â´Â ´ÙÀ½°ú °°½À´Ï´Ù.
À¥ °ü¸®-WebAdminHandler´Â °ü¸® À¥ »çÀÌÆ®ÀÇ ±âº» ÆäÀÌÁöÀÔ´Ï´Ù. ÀÌ Ã³¸®±â¸¦ »ç¿ëÇÏ¿© ASP.NET 2.0 À¥ ÀÀ¿ë ÇÁ·Î±×·¥ °ü¸®¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÃßÀû-ASP.NET 1.x TraceHandler°¡ Çâ»óµÇ¾ú½À´Ï´Ù. ÀÌ Ã³¸®±â´Â ASP.NET 1.x¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ¾ú´ø À¯ÀÏÇÑ "axd" 󸮱âÀÔ´Ï´Ù.
À¥ ¸®¼Ò½º-»õ °ü¸® µµ±¸ ¹× WebResourcesHandler¸¦ ÅëÇØ ÀÌÁ¦ À¥ ¸®¼Ò½º¸¦ ¹èÆ÷ ÈÄ¿¡ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ij½ÃµÈ À̹ÌÁö-CachedImageServiceHandler´Â ±×·¡ÇÈ ±¸¼º ¿ä¼Ò ij½ÌÀ» Áö¿øÇÕ´Ï´Ù.
Ä«¿îÅÍ-SiteCountersHandler¸¦ ÆäÀÌÁö Ä«¿îÅÍ ¸ðµâ°ú ÇÔ²² »ç¿ëÇÏ¿© ASP.NET 2.0 ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¾×¼¼½º Åë°è¸¦ Á¦°øÇÕ´Ï´Ù.
¹Ì¸® ÄÄÆÄÀÏ-¾Õ¿¡¼ ¾ð±ÞÇÑ ´ë·Î, PrecompHandler¸¦ »ç¿ëÇÏ¿© ASP.NET ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸ðµç ASPX ÆäÀÌÁö¸¦ Àϰý ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
À¥ ÆÄÆ® ³»º¸³»±â-WebPartExportHandler´Â À¥ ÆÄÆ® ·¹À̾ƿôÀÇ ÀúÀå ¹× Àü¼ÛÀ» Áö¿øÇÕ´Ï´Ù. À¥ ÆÄÆ®´Â Æ÷ÅÐÇü À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸ð¾ç°ú ÄÜÅÙÃ÷¸¦ °³ÀÎ ¼³Á¤ÇÒ ¼ö ÀÖ´Â »õ·Î¿î ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù.
ÀϹÝÀûÀÎ °æ¿ì¿Í °°ÀÌ HTTPForbiddenHandler´Â ¹ÝÈ¯ÇØ¼´Â ¾È µÇ´Â ÆÄÀÏ Çü½Ä¿¡ ¿¬°áµË´Ï´Ù. ASP.NET 2.0¿¡¼´Â ±ÝÁöµÈ ÆÄÀÏ Çü½ÄÀÇ ¹üÀ§°¡ º¸´Ù ³Ð¾îÁ®¼ ¸¶½ºÅÍ ÆäÀÌÁö, ½ºÅ² ÆÄÀÏ ¹× ±âŸ »õ °³¹ßÀÚ ±¸¼º ¿ä¼Ò°¡ Æ÷ÇԵ˴ϴÙ.
°í±Þ ij½Ì ±â¼ú
À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ´Â ÇÑ °¡Áö ¹æ¹ýÀº ¸Þ¸ð¸®¿¡¼ Á¤Àû ÄÜÅÙÃ÷¸¦ ij½ÃÇÏ´Â °ÍÀÔ´Ï´Ù. ij½ÃµÈ ÄÜÅÙÃ÷´Â »õ·Î ·»´õ¸µµÈ ÄÜÅÙÃ÷º¸´Ù Ç×»ó ºü¸£°Ô ¹ÝȯµË´Ï´Ù. ÇÏÁö¸¸ ´ÜÁ¡Àº ij½ÃµÈ ÄÜÅÙÃ÷°¡ ¿À·¡µÇ¾î ³»¿ëÀÌ ºÎ½ÇÇØÁú ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ASP.NET 1.x¿¡¼´Â ´ÙÀ½À» ºñ·ÔÇÏ¿© ¿©·¯ °¡Áö ij½ÌÀ» Áö¿øÇÕ´Ï´Ù.
ÆäÀÌÁö ¼öÁØ-°¢ ÆäÀÌÁö¸¦ ÀüüÀûÀ¸·Î ij½ÃÇϰųª ÆäÀÌÁö¿¡ ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëµÈ ¸Å°³ º¯¼ö¸¦ ±â¹ÝÀ¸·Î ij½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ij½ÃµÈ ÆäÀÌÁö´Â ÁöÁ¤ÇÑ ½Ã°£ÀÌ Áö³ª¸é ¸¸·áµË´Ï´Ù.
ÆäÀÌÁö Á¶°¢-»ç¿ëÀÚ ÄÁÆ®·Ñ(.ascx ÆÄÀÏ)À» »ç¿ëÇÏ¿© ÆäÀÌÁö¸¦ ¸¸µç °æ¿ì ³ª¸ÓÁö ÆäÀÌÁö ÄÜÅÙÃ÷¿Í º°µµ·Î ÀÌ »ç¿ëÀÚ ÄÁÆ®·ÑÀ» ij½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇÁ·Î±×·¡¹Ö ¹æ½Ä ij½Ì-°³¹ßÀڴ ij½Ã API¸¦ ÅëÇØ °³Ã¼¸¦ ij½ÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ij½Ã API »ç¿ëÀÇ È®½ÇÇÑ ÀÌÁ¡Àº ij½Ã¸¦ Ç÷¯½ÃÇØ¾ß ÇÏ´Â °æ¿ì¸¦ À§ÇØ ´Ù¸¥ Á¾·ùÀÇ Á¾¼Ó¼ºÀ» ¸¸µé ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
ASP.NET 2.0¿¡¼´Â ÆäÀÌÁö ¼öÁØÀÇ Ä³½Ì ¸ÞÄ¿´ÏÁòÀÌ È®ÀåµÇ¾î µ¥ÀÌÅͺ£À̽º Á¾¼Ó¼ºÀ» Áö¿øÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ij½Ã Á¾¼Ó¼ºÀ» »ç¿ëÇϸé ij½ÃµÈ ÆäÀÌÁö¸¦ SQL Server µ¥ÀÌÅͺ£À̽ºÀÇ Æ¯Á¤ Å×ÀÌºí¿¡ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀÌ º¯°æµÇ¸é ij½Ã°¡ ÀÚµ¿À¸·Î ¸¸·áµË´Ï´Ù. ¶ÇÇÑ °³¹ßÀÚ´Â ÀÌÁ¦ »çÈÄ Ä³½Ã ´ëü ±â´ÉÀ» »ç¿ëÇÏ¿© ij½ÃµÈ ÄÜÅÙÃ÷ÀÇ ÀϺθ¦ »õ·Î °íÄ£ ÄÜÅÙÃ÷·Î ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. »çÈÄ Ä³½Ã ´ëü¸¦ »ç¿ëÇÏ¸é ÆäÀÌÁöÀÇ ÀϺθ¦ µ¿ÀûÀ¸·Î »ý¼ºÇØ¾ß ÇÏ´Â °æ¿ì¿¡µµ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÆäÀÌÁö ¼öÁØÀÇ Ä³½ÌÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ij½Ã ¹«È¿È
´ëºÎºÐÀÇ µ¥ÀÌÅÍ ±â¹Ý À¥ »çÀÌÆ®¿¡¼ ij½ÌÀº ¾î·Á¿î ¹®Á¦ÀÏ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ij½ÌÀÌ ÇÊ¿äÇÑ »óȲ¿¡¼ Ãֽе¥ÀÌÅͰ¡ ÇÊ¿äÇÑ °æ¿ì¿¡´Â ´õ¿í ±×·¯ÇÕ´Ï´Ù. ASP.NET 1.x¿¡¼ ÆäÀÌÁö´Â ÁöÁ¤ÇÑ ½Ã°£ µ¿¾È ij½ÃÇÒ ¼ö ÀÖ¾úÀ¸¸ç, ÀÔ·Â ¸Å°³ º¯¼ö(Äõ¸® ¹®ÀÚ¿ ¶Ç´Â POST ¸Å°³ º¯¼ö)¿¡ ÀÇÇØ ±¸¼ºµÇ¾ú½À´Ï´Ù.
¸ñ·Ï 5. ASP.NET 1.x Ãâ·Â ij½Ã Áö½Ã¹®
<%@ outputcache duration="3600" varybyparam="ProdID" %>
¿¹¸¦ µé¾î ¸ñ·Ï 5ÀÇ ÄÚµå´Â ProdID º¯¼ö¸¦ ±â¹ÝÀ¸·Î ÇÑ ½Ã°£ µ¿¾È ¸Þ¸ð¸®¿¡¼ ÆäÀÌÁö¸¦ ij½ÃÇÕ´Ï´Ù. À§ÀÇ ¿¹¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦Á¡Àº °ü·Ã ¾÷¹« µ¥ÀÌÅͰ¡ ´Ù¸¥ °÷¿¡¼ ¾÷µ¥ÀÌÆ®µÇ´Â °æ¿ì ¼öÇàÇØ¾ß ÇÏ´Â ÀÛ¾÷ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Á¦Ç° īŻ·Î±× ÆäÀÌÁö°¡ Á¦Ç° ID¿¡ ÀÇÇØ ij½ÃµÇ´Â °æ¿ì¸¦ °¡Á¤ÇØ º¾½Ã´Ù. °¡´ÉÇÑ ¼ö·®À̳ª °¡°Ý µî ÀÌ Á¦Ç°¿¡ ´ëÇÑ Á¤º¸°¡ °ü¸® »çÀÌÆ®¿¡¼ ¾÷µ¥ÀÌÆ®µÇ´Â °æ¿ì À߸øµÈ µ¥ÀÌÅͰ¡ ij½ÃµÇ¾î °í°´¿¡°Ô Ç¥½ÃµË´Ï´Ù. ÀÌÀü ¹öÀüÀÇ ASP.NET¿¡¼ ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é Response.RemoveOutputCacheItemÀ» »ç¿ëÇÏ¿© ij½Ã¿¡¼ ÆäÀÌÁö¸¦ ¼öµ¿À¸·Î Á¦°ÅÇϰųª duration ½Ã°£ÀÌ ¸¸·áµÉ ¶§±îÁö ±â´Ù¸° ÈÄ ½Ã½ºÅÛ¿¡¼ ÀÚµ¿À¸·Î ÆäÀÌÁö¸¦ ¾÷µ¥ÀÌÆ®Çϵµ·Ï ÇØ¾ß Çß½À´Ï´Ù.
ASP.NET 2.0¿¡¼´Â µ¥ÀÌÅͺ£À̽º ij½Ã Á¾¼Ó¼ºÀ» Áö¿øÇϹǷΠÀÌ·¯ÇÑ ¹®Á¦°¡ ÇØ°áµË´Ï´Ù. SQL Server 7 ¹× 2000¿¡¼ ÀÛ¾÷ÇÒ °æ¿ì Å×ÀÌºí ¼öÁØ ¾Ë¸²À» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Microsoft SQL Server 2005¿¡¼´Â º¸´Ù ¼¼ºÐÈµÈ ¼öÁØÀ¸·Î ¾Ë¸²À» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½ ÄÚµå´Â ÃÖ´ë ÇÑ ½Ã°£ µ¿¾È Á¦Ç° ÆäÀÌÁö¸¦ ij½ÃÇÏÁö¸¸ µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ µÎ ¹øÂ° Á¾¼Ó¼ºÀ» Ãß°¡ÇÕ´Ï´Ù.
¸ñ·Ï 6. ASP.NET 2.0 µ¥ÀÌÅͺ£À̽º ij½ÃÀÇ ¿¹
<%@ outputcache duration="3600"
varybyparam="ProdID"
sqldependency="MyDatabase:Products" %>
»õ sqldependency Ư¼ºÀ» »ç¿ëÇϸé Products Å×À̺íÀÌ º¯°æµÉ °æ¿ì ij½ÃµÈ ÆäÀÌÁö°¡ ¸¸·áµË´Ï´Ù. sqldependency Ư¼ºÀº web.config ÆÄÀÏ¿¡¼ ±¸¼ºµÈ datasource¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù. datasource´Â µ¥ÀÌÅͺ£À̽º ¿¬°á ¹× ÇÊ¿äÇÑ ¸Å°³ º¯¼ö¸¦ ½Äº°ÇÏ¿© Á¾¼Ó¼º ¾Ë¸² ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù.
»ç¿ëÀÚ ÁöÁ¤ ij½Ã Á¾¼Ó¼º
ASP.NET 2.0¿¡´Â Microsoft SQL Server¸¦ Áö¿øÇÏ´Â ´ÜÀÏ CacheDependency ±¸ÇöÀÎ SQLCacheDependency Ŭ·¡½º°¡ ÀÖ½À´Ï´Ù. »õ ij½Ã Á¾¼Ó¼ºÀ» ±¸ÇöÇÏ´Â ÀÛ¾÷Àº Æ÷ÇÔµÈ ÇÁ·Î¼¼½ºÀÌÁö¸¸, ASP.NET 2.0ÀÇ È®À强À¸·Î ÀÎÇØ ±¸ÇöÀÌ °¡´ÉÇÕ´Ï´Ù. Áï, »ç¿ëÀÚ °íÀ¯ÀÇ CacheDependency Ŭ·¡½º¸¦ ¸¸µé¾î OracleÀ̳ª Sybase µîÀÇ ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ°ú À¯»çÇÑ ±â´ÉÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
»çÈÄ Ä³½Ã ´ëü
ÀϺΠÆäÀÌÁö ¿ä¼Ò´Â µ¿ÀûÀ¸·Î À¯ÁöµÇÁö¸¸ ÆäÀÌÁö¿¡¼ ´ëºÎºÐÀÇ ¿ä¼Ò°¡ ij½Ã¸¦ »ç¿ëÇÏ´Â °æ¿ì, ASP.NET 2.0¿¡¼´Â »çÈÄ Ä³½Ã ´ëü¶ó´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. »çÈÄ Ä³½Ã ´ëü´Â ÆäÀÌÁö¸¦ »ç¿ëÀÚ¿¡°Ô Ç¥½ÃÇϱâ Àü¿¡ ij½ÃµÈ ÆäÀÌÁö¿¡ Àִ ƯÁ¤ ¿ä¼Ò¸¦ ´Ù½Ã °è»êÇØ¾ß ÇÔÀ» ASP.NET ·±Å¸ÀÓ¿¡ ¾Ë¸®´Â µ¥ »ç¿ëµË´Ï´Ù.
´ÙÀ½ µÎ °¡Áö ¹æ¹ýÀ¸·Î ÀÌ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
»õ Response.writeSubstitution ¸Þ¼µå¸¦ È£ÃâÇÏ°í ´ëü Äݹé ÇÔ¼ö¿¡ ´ëÇÑ ÂüÁ¶¸¦ Àü´ÞÇÕ´Ï´Ù.
À¥ ÆäÀÌÁö¿¡ <asp:substitution> ÄÁÆ®·ÑÀ» Ãß°¡Çϰí methodname Ư¼ºÀ» Äݹé ÇÔ¼öÀÇ À̸§À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
¾î¶² ¿É¼ÇÀ» »ç¿ëÇϵçÁö Á¾¼Ó¼ºÀÇ ±â°£°ú À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â @OutputCache Áö½Ã¹®À» ÆäÀÌÁö¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
»çÈÄ Ä³½Ã ´ëü ±¸Çö
»çÈÄ Ä³½Ã ´ëü¸¦ ÀνÄÇÏ´Â ÄÁÆ®·ÑÀ» ¸¸µé¾î ÀÌ ±â´ÉÀ» Ȱ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÄÁÆ®·ÑÀÇ ¿¹·Î´Â AdRotator ÄÁÆ®·ÑÀ» µé ¼ö ÀÖ½À´Ï´Ù. ¸ñ·Ï 7Àº ´ÙÀ½°ú °°Àº ÆäÀÌÁö¸¦ ³ªÅ¸³À´Ï´Ù.
Pubs µ¥ÀÌÅͺ£À̽ºÀÇ ÀÛ¼ºÀÚ Å×ÀÌºí¿¡¼ µ¥ÀÌÅ͸¦ °Ë»öÇÏ´Â ÆäÀÌÁö
µ¥ÀÌÅ͸¦ GridView ÄÁÆ®·Ñ¿¡ °áÇÕÇÏ´Â ÆäÀÌÁö
AdRotator¿¡¼ ±¤°í¸¦ Ç¥½ÃÇÏ´Â ÆäÀÌÁö
·¹À̺í ÄÁÆ®·Ñ¿¡ ÆäÀÌÁö¸¦ ¸¸µç ½Ã°£À» Ç¥½ÃÇÏ´Â ÆäÀÌÁö
¸ñ·Ï¿¡¼ ±½°Ô Ç¥½ÃµÈ <asp:substitution> ÄÁÆ®·Ñµµ ÀÌ ¿¹¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÌ ÄÁÆ®·ÑÀº ¹®ÀÚ¿ Ãâ·Â(ÀÌ °æ¿ì ÇöÀç ½Ã°£)À» ¹ÝȯÇÏ´Â ¸Þ¼µåÀÎ uncachedUpdate·Î methodname Ư¼ºÀ» ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ´ëü ÄÁÆ®·ÑÀº ij½ÃµÈ ´ë»ó°ú »ó°ü¾øÀÌ Á¤È®ÇÑ ½Ã°£À» ¹ÝȯÇÕ´Ï´Ù.
¸ñ·Ï 7. PostCache.ASPX ¼Ò½º ÄÚµå
<%@ Page language="c#" Codebehind="PostCache.ASPX.cs"
AutoEventWireup="true" Inherits="WebApplication1.PostCache" %>
<%@ outputcache duration="30" varybyparam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<DIV style="DISPLAY: inline;
Z-INDEX: 101; LEFT: 32px; WIDTH: 160px;
POSITION: absolute; TOP: 24px; HEIGHT: 8px"
align="right" ms_positioning="FlowLayout">
this page was created at:
</DIV>
<asp:Label id="CreatedTime"
style="Z-INDEX: 102; LEFT: 200px; POSITION: absolute;
TOP: 24px" runat="server" Width="120px" Height="16px">
</asp:Label>
<asp:substitution id="UpdatedTime" methodname="uncachedUpdate"
style="Z-INDEX: 103; LEFT: 200px; POSITION: absolute;
TOP: 48px" runat="server" Width="112px" Height="11px">
</asp:substitution>
<DIV style="DISPLAY: inline; Z-INDEX: 104; LEFT: 32px;
WIDTH: 160px; POSITION: absolute; TOP: 48px;
HEIGHT: 16px" align="right" ms_positioning="FlowLayout">
and last updated at:
</DIV>
<asp:AdRotator id="Ads" style="Z-INDEX: 105; LEFT: 312px;
POSITION: absolute; TOP: 16px" runat="server"
Width="80px" Height="60px" AdvertisementFile="img/Ads.xml">
</asp:AdRotator>
</form>
</body>
</HTML>
ÀÌ ÆäÀÌÁöÀÇ ÄÚµå ¼û±è ÆÄÀÏ¿¡´Â uncachedUpdate ¸Þ¼µå¿¡¼ »çÈÄ Ä³½Ã ´ëü¸¦ Áö¿øÇÏ´Â µ¥ ÇÊ¿äÇÑ À̺¥Æ®°¡ Æ÷ÇԵ˴ϴÙ. Page_Load ¸Þ¼µå´Â ÆäÀÌÁö¸¦ ·ÎµåÇÑ ½Ã°£À» º¸°íÇϹǷΠij½ÌÀÌ ¹ß»ýÇÏ´Â ½Ã°£À» ÆÄ¾ÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸ñ·Ï 8. PostCache.ASPX.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication1 {
public class PostCache : System.Web.UI.Page {
protected System.Web.UI.WebControls.Label CreatedTime;
protected System.Web.UI.WebControls.Label UpdatedTime;
protected System.Web.UI.WebControls.AdRotator Ads;
private void InitializeComponent() {
this.Load += new System.EventHandler(this.Page_Load);
}
private void Page_Load(object sender, System.EventArgs e) {
CreatedTime.Text = DateTime.Now.ToShortTimeString();
}
protected String uncachedUpdate() {
return DateTime.Now.ToShortTimeString();
}
}
}
»çÈÄ Ä³½Ã ´ëü ±â´É »ç¿ë
±×¸² 6Àº PostCache ÆäÀÌÁöÀÇ Ãâ·ÂÀ» º¸¿© ÁÝ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥À» óÀ½ ½ÇÇàÇÒ ¶§ "Page created time"°ú "Last updated time"ÀÌ ÀÏÄ¡ÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
±×¸² 6. PostCache.ASPXÀÇ Ãâ·Â
ÀÌÈÄ¿¡ °°Àº ÆäÀÌÁö¸¦ È£ÃâÇÏ¸é »çÈÄ Ä³½Ã ´ëüÀÇ È¿°ú¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. Page created time°ú À̹ÌÁö´Â µ¿ÀÏÇÏ°Ô À¯ÁöµÇÁö¸¸ Last updated timeÀº º¯°æµË´Ï´Ù.
±×¸² 7. µÎ ¹øÂ° ¿äû ½Ã PostCache Ãâ·Â
ij½Ì Áö½Ã¹®À¸·Î ÀÎÇØ Page created time°ú adRotator À̹ÌÁö´Â ÀÏÁ¤ÇÏ°Ô À¯ÁöµË´Ï´Ù. ÆäÀÌÁö´Â 30ÃÊ µ¿¾È ij½ÃµË´Ï´Ù. ÀÌ ½Ã°£ÀÌ Áö³ª¸é ´ÙÀ½ ¿äû ½Ã Page created time°ú adRotator°¡ ¾÷µ¥ÀÌÆ®µË´Ï´Ù. ±×·¯³ª uncachedUpdate() ¸Þ¼µå¸¦ È£ÃâÇÏ´Â <asp:substitution> ÄÁÆ®·ÑÀº ij½ÃµÈ »óÅÂ¿Í »ó°ü¾øÀÌ ÆäÀÌÁö°¡ ¿äûµÉ ¶§¸¶´Ù ¾÷µ¥ÀÌÆ®µË´Ï´Ù.
»çÈÄ Ä³½Ã ´ëü¸¦ ÀûÀýÈ÷ »ç¿ëÇÏ¸é °³¹ßÀÚ´Â ÆäÀÌÁöÀÇ µ¿Àû ºÎºÐ¸¸ ¾÷µ¥ÀÌÆ®ÇÔÀ¸·Î½á À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀ» Å©°Ô Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù. ASP.NET 2.0¿¡¼ °³¹ßÇÑ À¥ ÀÀ¿ë ÇÁ·Î±×·¥À» µ¥ÀÌÅͺ£À̽º ij½Ã ¹«È¿È ¹× ºñµ¿±â ÆäÀÌÁö ¾÷µ¥ÀÌÆ® ±â´É°ú ÇÔ²² »ç¿ëÇϸé À¥ÀÇ ÀÏ¹Ý ¿äû ¹× ÀÀ´ä ¾ÆÅ°ÅØÃ³·Î ÀÎÇØ ¹ß»ýÇÏ´Â ¿©·¯ Á¦ÇÑ »çÇ×À» ¾ø¾Ù ¼ö ÀÖ½À´Ï´Ù.
¼º´É
ASP.NET 2.0ÀÇ ÀÎÇÁ¶ó º¯°æ »çÇ× ¹× Ãß°¡ ±â´É¿¡ ´ëÇØ ¼³¸íÇß½À´Ï´Ù. ±×·¯³ª ¾ÆÁ÷ ASP.NET 2.0ÀÇ ¼º´É¿¡ °üÇÑ Àǹ® »çÇ×ÀÌ ³²¾Æ ÀÖ½À´Ï´Ù. ASP.NET 2.0ÀÌ ¾ÆÁ÷ °³¹ß ÁßÀ̱⠶§¹®¿¡ ¼º´É ¸ÞÆ®¸¯À» »ç¿ëÇÒ ¼ö´Â ¾øÁö¸¸, ASP.NET 2.0 ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸ðµç ¸é¿¡ °ÉÃÄ ¼º´ÉÀ» À¯ÁöÇϰųª Çâ»ó½ÃŰ´Â µ¥ ¸¹Àº ³ë·ÂÀ» ±â¿ï¿© ¿Ô½À´Ï´Ù.
Çâ»óµÈ ¿äû ÆÄÀÌÇÁ¶óÀÎ
¸ðµç °³¹ßÀÚ°¡ Çâ»óµÈ ¼º´ÉÀ» È®ÀÎÇÒ ¼ö ÀÖ´Â ¿µ¿ªÀº ¿äû ÆÄÀÌÇÁ¶óÀÎÀÔ´Ï´Ù. ¸¹Àº À̺¥Æ®°¡ »õ·Î Ãß°¡µÇ¾úÁö¸¸, ±âº» ASP.NET ¿äû ½ºÅÃÀº ASP.NET 1.1ÀÇ ¿äû ½ºÅú¸´Ù ÃÖ´ë 30% ºü¸¨´Ï´Ù. "Hello World"¸¦ Ç¥½ÃÇÏ´Â °£´ÜÇÑ ÆäÀÌÁö¸¦ ¸¸µé¾î Çâ»óµÈ ¼º´ÉÀ» Æò°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆäÀÌÁö¿¡´Â °í±Þ ±â´ÉÀÌ ¾ø±â ¶§¹®¿¡ ASP.NET 2.0À» IIS¿¡ ¿¬°áÇÏ´Â ISAPI Ç÷¯±× ÀÎÀ» ºñ·ÔÇÏ¿© HTTPHandler ¹× HTTPModule ÆÄÀÌÇÁ¶óÀÎÀ» Á÷Á¢ Å×½ºÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¸´Ù ºü¸¥ 󸮸¦ À§ÇØ ÀÌ Äڵ尡 ÃÖÀûȵǾú±â ¶§¹®¿¡ »ç¿ë ÁßÀÎ IIS ¹öÀü¿¡ »ó°ü¾øÀÌ Çâ»óµÈ ¼º´ÉÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
IIS 6.0À¸·Î Çâ»óµÈ ¸Þ¸ð¸® °ü¸®
ASP.NET 2.0¿¡¼´Â IIS 6.0À» ÇÔ²² »ç¿ëÇÒ ¶§¸¸ ¼º´ÉÀÌ Çâ»óµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î IIS 6.0ÀÇ °æ¿ì 100¸íÀÇ »ç¿ëÀÚ°¡ µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ÄÁÆ®·ÑÀÌ ÀÖ´Â ÆäÀÌÁö¸¦ ¿äûÇÏ´Â ·Îµå Å×½ºÆ®¿¡¼ ÀÛ¾÷ÀÚ ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ ÁýÇÕÀÌ ¾à 50% °¨¼ÒµÇ¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ °á°ú´Â ÁöÁ¤µÈ ¼¹öÀÇ °æ¿ì ¿î¿µ üÁ¦¿¡¼ ÀÌÀü¿¡ ÇÊ¿äÇß´ø ¸®¼Ò½º¿¡ ºñÇØ Àý¹Ý Á¤µµÀÇ ¸®¼Ò½º¸¸ »ç¿ëÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
¾î´À Á¤µµ º¹ÀâÇÑ ASP.NET ÆäÀÌÁö¸¦ Å×½ºÆ®ÇÑ °á°ú, °°Àº ÆäÀÌÁö¸¦ IIS 5.0¿¡¼ ½ÇÇàÇßÀ» ¶§¿¡ ºñÇØ ½Ã½ºÅÛ ·Îµå(¸Þ¸ð¸® ¹× CPU »ç¿ë·®)°¡ Å©°Ô ³·¾ÆÁ³½À´Ï´Ù. ÀÌ·¯ÇÑ ¼º´É Çâ»óÀº °ü¸® ¸Þ¸ð¸®¿¡¼ °íÀ¯ ¸Þ¸ð¸®·Î ÀÀ´ä ¹öÆÛ¸¦ À̵¿ÇÔÀ¸·Î½á °¡´ÉÇØÁø °ÍÀÔ´Ï´Ù. ASP.NET 2.0¿¡¼´Â °ü¸® ¸Þ¸ð¸®¸¦ ƯÁ¤ ÀÀ´ä¿¡ °íÁ¤ÇÒ Çʿ䰡 ¾øÀ¸¹Ç·Î ¸®¼Ò½º º´¸ñ Çö»óÀÌ ¾øÀ¸¸ç °¢ ¿äû¿¡ ´ëÇØ ÀÀ´äÀÌ º¸´Ù »¡¸® »ý¼ºµË´Ï´Ù.
±âŸ ¼º´É Çâ»óÀº IIS 6.0°ú Windows ¿î¿µ üÁ¦ Ä¿³ÎÀ» °ß°íÇÏ°Ô ÅëÇÕÇÏ¿© ÀÌ·é °ÍÀÔ´Ï´Ù. IIS 6.0¿¡¼´Â Ä¿³Î ¼öÁØ¿¡¼ ÀϺΠij½Ì ¹× ¹öÆÛ¸µÀ» ¼öÇàÇϹǷΠASP.NETÀ» ºñ·ÔÇÑ ¸ðµç À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼º´ÉÀÌ Çâ»óµË´Ï´Ù.
±âŸ Çâ»óµÈ ±â´É
°³¹ßÀÚ´Â ASP.NET 2.0ÀÇ ±â´É ¼öÇà ¼Óµµ°¡ ASP.NET 1.x¿Í °°°Å³ª ´õ ºü¸£´Ù´Â °ÍÀ» ¾Ë°Ô µÉ °ÍÀÔ´Ï´Ù. ÇÙ½É ±â´ÉÀÌ ¸ðµÎ Æ÷ÇÔµÈ ÃÖÁ¾ ASP.NET 2.0 ¸±¸®½º¿¡¼´Â ´õ ¸¹Àº ¼º´É Çâ»óÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
°á·Ð
ASP.NET 2.0¿¡¼´Â °³¹ßÀÚÀÇ »ý»ê¼ºÀ» ³ôÀ̱â À§ÇØ ´Ù¾çÇÑ ±¸Á¶Àû ±â´ÉÀÌ Çâ»óµÇ¾ú½À´Ï´Ù. ÄÚµå ¸ðµ¨ÀÌ Çâ»óµÇ¾î Ãæµ¹À» ÁÙÀ̰í, ÄÄÆÄÀÏ ÇÁ·Î¼¼½º°¡ È®ÀåµÇ¾î À¥ ÀÀ¿ë ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ¹× ¹èÆ÷ÇÏ´Â ¿É¼ÇÀÌ º¸´Ù ´Ù¾çÇÏ°Ô Á¦°øµË´Ï´Ù. ASP.NET ÇÁ·¹ÀÓ¿öÅ©ÀÇ È®À强Àº °³ÀÎ ¼³Á¤, ¸¶½ºÅÍ ÆäÀÌÁö, °ü¸® »çÀÌÆ® µîÀ» ºñ·ÔÇÏ¿© ASP.NETÀÇ ¿©·¯ °¡Áö »õ ±â´ÉÀ» Áö¿øÇÏ´Â »õ HTTPModules ¹× HTTPHandlers¸¦ ÅëÇØ ´Ù½Ã ÇÑ ¹ø È®ÀεǾú½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º Á¾¼Ó¼º°ú »çÈÄ Ä³½Ã ´ëü¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ij½ÌÀÌ Çâ»óµÇ¾ú½À´Ï´Ù. ³»ºÎÀûÀ¸·Î ASP.NET 2.0¿¡´Â ÀÌÀü ¹öÀü¿¡ ºñÇØ Å©°Ô Çâ»óµÈ ±â´ÉÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ASP.NET 2.0ÀÇ »õ·Î¿î ±¸Çö ¹æ½ÄÀº ¾÷°è ÃÖ°íÀÇ ¹æ½ÄÀ» µû¸£´Â µ¿½Ã¿¡ ´Ù¾çÇÑ °³¹ßÀÚ Áß½ÉÀÇ Çâ»óµÈ ±â´ÉÀ» ÅëÇÕÇÕ´Ï´Ù. ASP.NET 2.0¿¡¼´Â º¹ÀâÇÑ ¿£ÅÍÇÁ¶óÀÌÁî À¥ ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß ÀÛ¾÷À» ó¸®ÇÒ ¼ö ÀÖ´Â ¼¼°è ÃÖ°íÀÇ À¥ °³¹ß Ç÷§ÆûÀ» Á¦°øÇÕ´Ï´Ù.
°ü·Ã ¼Àû
CodeNotes for ASP.NET
A First Look at ASP.NET V. 2.0
ASP.NET 2.0 Revealed
--------------------------------------------------------------------------------
ÀúÀÚ ¼Ò°³
Jayesh Patel-.NET ¹× Java TechnologiesÀÇ °³¹ßÀÚÀÔ´Ï´Ù. JayÀÇ ÁÖ¿ä ¿¬±¸ ºÐ¾ß´Â ÆÐÅÏ ±â¹Ý ÇÁ·Î±×·¡¹Ö ¹× È¿À²ÀûÀÎ ¹æ¹ý·ÐÀÔ´Ï´Ù.
Bryan Acker-Infusion DevelopmentÀÇ ±â¼ú Àü¹® Àú¼ú°¡ÀÔ´Ï´Ù. BryanÀº ASP ¹× ASP.NET À¥ °³¹ß°ú À¥ È£½ºÆÃ ºÐ¾ß¿¡¼ ¸¹Àº °æ·ÂÀ» ½×¾Ò½À´Ï´Ù.
Robert McGovern-Infusion DevelopmentÀÇ ¼ö¼® Àú¼ú°¡, °³¹ßÀÚ ¹× ÇÁ·ÎÁ§Æ® °ü¸®ÀÚÀÔ´Ï´Ù. RobÀº CodeNotes for ASP.NET ¹× JSP to ASP.NET Migration Guide µî ¿©·¯ °¡Áö ASP.NET ÇÁ·ÎÁ§Æ®¿¡ Âü¿©Çß½À´Ï´Ù.
Infusion Development CorporationÀº À繫 ¼ºñ½º ¾÷°è¸¦ ÁßÁ¡ÀûÀ¸·Î FortuneÁö ¼±Á¤ 100´ë ±â¾÷¿¡ »ç¿ëÀÚ ÁöÁ¤µÈ ¼ÒÇÁÆ®¿þ¾î °³¹ß, ±³À° ¹× ÄÁ¼³ÆÃ ¼ºñ½º¸¦ Á¦°øÇÏ´Â Microsoft Certified Solutions ProviderÀÔ´Ï´Ù. ´º¿å°ú Åä·ÐÅä¿¡ Áö»ç¸¦ µÎ°í ÀÖ´Â Infusion Development´Â À繫 ¼ºñ½º, º¸¾È Áß°³ ¹× ¼ÒÇÁÆ®¿þ¾î °³¹ß ¾÷°èÀÇ ¼¼°è ÃÖ´ë ȸ»ç¸¦ ºñ·ÔÇÏ¿© Àü ¼¼°è¿¡ °í°´À» º¸À¯Çϰí ÀÖ½À´Ï´Ù. Infusion DevelopmentÀÇ Á÷¿øµé ¿ª½Ã CodeNotes ¼Àû ½Ã¸®ÁîÀÇ ÀúÀÚ ¹× ÀÛ¼ºÀÚÀÔ´Ï´Ù.
|
|
|
|
|
|
|
|
| ¹øÈ£ |
Á¦¸ñ |
±Û¾´ÀÌ |
µî·ÏÀÏ |
Á¶È¸¼ö |
|
1. [Tomcat HOME] > conf > server.xml ÆÄÀÏ¿¡¼ ¾Æ·¡ ºÎºÐÀ» ã¾Æ useBodyEncodingForURI ,URIEncod...ÀÌÇÏ»ý·«
|
|
|
MSSQL2000 »ç¿ë¿¡ ÀÖ¾î °¡²û Àú Á¦¸ñÀÇ ¸Þ¼¼Áö¸¦ Á¢Çß¾ú´Ù.
Âü³°¨ÇÏ´Ù. º» PC¿¡¼´Â Á¢¼ÓÀÌ µÇ´Âµ¥ ¿Ö ...ÀÌÇÏ»ý·«
|
|
|
ºñ¹Ð±Û·Î ÀÛ¼ºµÈ ±ÛÀÔ´Ï´Ù.
91 |
[VB] ¼ºñ½º¿¡ µî·ÏÇϱâ |
Ű¾¥_¯^^-Y |
2008/06/24 |
14 |
|
|
<script language="javascript">
//ÀÔ·ÂÇÑ tabIndex·Î °´Ã¼¸®ÅÏ
function GetObjectByTabIndex(...ÀÌÇÏ»ý·«
|
|
|
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
window.onload = fun...ÀÌÇÏ»ý·«
89 |
[JAVASCRIPT] TAB Ű (1) |
Ű¾¥_¯^^-Y |
2008/06/16 |
4 |
|
|
ºñ¹Ð±Û·Î ÀÛ¼ºµÈ ±ÛÀÔ´Ï´Ù.
88 |
[PHP] ¿¢¼¿º¸³»±â (2) |
Ű¾¥_¯^^-Y |
2008/06/10 |
21 |
|
|
Public Function GetTimeStamp() As Long
GetTimeStamp = DateDiff("s", "1970-01-01", Now)
End Funct...ÀÌÇÏ»ý·«
87 |
[VB] GetTimeStamp |
Ű¾¥_¯^^-Y |
2006/12/27 |
6 |
|
|
/*******************************************************************************
* Æû À¯È¿¼º °Ë»ç¿¡...ÀÌÇÏ»ý·«
86 |
[JAVASCRIPT] À¯È¿¼º°Ë»ç (2) |
Ű¾¥_¯^^-Y |
2006/12/07 |
9 |
|
|
/*******************************************************************************
* °ø¹éÀÎÁö
******...ÀÌÇÏ»ý·«
85 |
[JAVASCRIPT] À¯È¿¼º°Ë»ç2 |
Ű¾¥_¯^^-Y |
2006/12/07 |
5 |
|
|
HTML ¼Ò½ºÁß °¢ ¿¤¸®¸ÕÆ®ÀÇ À§Ä¡È®ÀÎ~
|
|
|
Jayesh Patel, Bryan Acker, Robert McGovern
Infusion Development
2004³â 8¿ù
Àû¿ë ´ë»ó:
Mic...ÀÌÇÏ»ý·«
|
|
|
Jayesh Patel, Bryan Acker, Robert McGovern
Infusion Development
2004³â 8¿ù
Àû¿ë ´ë»ó:
Mic...ÀÌÇÏ»ý·«
|
|
|
¿ì¼± ÇØ°á¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖÀ¸³ª µÎ°¡Áö·Î ¿ä¾àÇØ¼ ¸»¾¸µå¸³´Ï´Ù.
¿øÀÎ : ÇÑ º¯¼ö¿¡ ÀúÀå°¡´ÂÇÑ ¿ë...ÀÌÇÏ»ý·«
|
|
|
[ÇÖ´º½º] "Á·º¸"¾ø´Â ¸Ô°Å¸® ¼³ÀÚ¸® ¾ø¾îÁø´Ù
À½½ÄÁ¡ ½ÄÀ° ¿ø»êÁöÇ¥½Ã 2007³âºÎÅÍ ½Ç½Ã...»ý»êÀÌ·ÂÁ¦ µµ...ÀÌÇÏ»ý·«
80 |
[PHP] Á¦¹ÎÀϺ¸ 12/2 (18) |
Ű¾¥_¯^^-Y |
2005/12/02 |
6 |
|
|
ÀÏ À¯Åë¾÷°è `»ý»êÀÌ·ÂÃßÀû½Ã½ºÅÛ` ¼Ó¼Ó µµÀÔ
"³óÃà»ê¹° »ý»ê°úÁ¤ È®ÀÎÇÏ°í µå¼¼¿ä"
Æ®·¹À̼ºô¸®Æ¼(tra...ÀÌÇÏ»ý·«
|
|
|
|
|
|
|
|
|
Copyright 2004¨ÏSuJunggusul. HikBoard Ver1.1 by kissu. |
| www.sujunggusul.com |
| SINCE 2003 COPYRIGHT ANY RIGHT RESERVED. |
|