첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

TestProject.zip
다운로드

▶ Global.asax.cs

using System;
using System.Web;

namespace TestProject
{
    /// <summary>
    /// 글로벌
    /// </summary>
    public class Global : HttpApplication
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Protected

        #region 애플리케이션 시작시 처리하기 - Application_Start(sender, e)

        /// <summary>
        /// 애플리케이션 시작시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        protected void Application_Start(object sender, EventArgs e)
        {
            Application["Now"] = DateTime.Now;
        }

        #endregion
        #region 세션 시작시 처리하기 - Session_Start(sender, e)

        /// <summary>
        /// 세션 시작시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        protected void Session_Start(object sender, EventArgs e)
        {
            Session["Now"] = DateTime.Now;
        }

        #endregion
    }
}

 

728x90

 

▶ MainPage.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainPage.aspx.cs" Inherits="TestProject.MainPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>ASP.NET 상태 관리하기</title>
    </head>
    <body>
        <form id="form" runat="server">
            <div>
                <h3>서버 저장</h3>
                Application : <asp:TextBox ID="applicationTextBox" runat="server" /><br />
                Session : <asp:TextBox ID="sessionTextBox" runat="server" /><br />
                Cache : <asp:TextBox ID="cacheTextBox" runat="server" /><br />
    
                <h3>클라이언트 저장</h3>
                Cookie : <asp:TextBox ID="cookieTextBox" runat="server" /><br />
                ViewState : <asp:TextBox ID="viewStateTextBox" runat="server" />
                <hr />
                <asp:LinkButton ID="saveButton" runat="server"
                    OnClick="saveButton_Click">
                    상태 변수 데이터 저장
                </asp:LinkButton>
                &nbsp;
                <asp:LinkButton ID="postbackButton" runat="server">
                    다시 게시
                </asp:LinkButton>
            </div>
        </form>
    </body>
</html>

 

300x250

 

▶ MainPage.aspx.cs

using System;
using System.Web.UI;

namespace TestProject
{
    /// <summary>
    /// 메인 페이지
    /// </summary>
    public partial class MainPage : Page
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Protected

        #region 페이지 로드시 처리하기 - Page_Load(sender, e)

        /// <summary>
        /// 페이지 로드시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!Page.IsPostBack)
            {
                this.applicationTextBox.Text = Application["Now"].ToString();
                
                this.sessionTextBox.Text = Session["Now"].ToString();

                if(Cache["Now"] != null)
                {
                    this.cacheTextBox.Text = Cache["Now"].ToString();
                }

                if(Request.Cookies["Now"] != null)
                {
                    this.cookieTextBox.Text = Server.UrlDecode(Request.Cookies["Now"].Value);
                }

                if(ViewState["Now"] != null)
                {
                    this.viewStateTextBox.Text = ViewState["Now"].ToString();
                } 
            }
        }

        #endregion
        #region 저장 버튼 클릭시 처리하기 - saveButton_Click(sender, e)

        /// <summary>
        /// 저장 버튼 클릭시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        protected void saveButton_Click(object sender, EventArgs e)
        {
            Application["Now"] = this.applicationTextBox.Text;

            Session["Now"] = this.sessionTextBox.Text;

            Cache["Now"] = this.cacheTextBox.Text;

            Response.Cookies["Now"].Value = Server.UrlEncode(this.cookieTextBox.Text);

            ViewState["Now"] = this.viewStateTextBox.Text;

            Response.Redirect("StatePage.aspx");
        }

        #endregion
    }
}

 

▶ StatePage.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StatePage.aspx.cs" Inherits="TestProject.StatePage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>저장 상태 조회</title>
    </head>
    <body>
        <form id="form" runat="server">
            <div>
                <h3>서버 저장</h3>
                Application : <asp:TextBox ID="applicationTextBox" runat="server" /><br />
                Session : <asp:TextBox ID="sessionTextBox" runat="server" /><br />
                Cache : <asp:TextBox ID="cacheTextBox" runat="server" /><br />
                <h3>클라이언트 저장</h3>
                Cookies : <asp:TextBox ID="cookieTextBox" runat="server" /><br />
                ViewState : <asp:TextBox ID="viewStateTextBox" runat="server" />
            </div>
        </form>
    </body>
</html>

 

▶ StatePage.aspx.cs

using System;
using System.Web.UI;

namespace TestProject
{
    /// <summary>
    /// 상태 페이지
    /// </summary>
    public partial class StatePage : Page
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Protected

        #region 페이지 로드시 처리하기 - Page_Load(sender, e)

        /// <summary>
        /// 페이지 로드시 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            this.applicationTextBox.Text = Application["Now"].ToString();

            this.sessionTextBox.Text = Session["Now"].ToString();

            if(Cache["Now"] != null)
            {
                this.cacheTextBox.Text = Cache["Now"].ToString();
            }

            if(Request.Cookies["Now"] != null)
            {
                this.cookieTextBox.Text =  Server.UrlDecode(Request.Cookies["Now"].Value);
            }

            if(ViewState["Now"] != null)
            {
                this.viewStateTextBox.Text = ViewState["Now"].ToString();
            }
        }

        #endregion
    }
}
728x90
반응형
그리드형
Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요