ASP.NET 의 응용 프로그램 상세 설명

5103 단어 ASP.NETApplication
전역 응용 프로그램 클래스
애플 리 케 이 션 이라는 단어 에서 애플 리 케 이 션 상 태 는 전체 응용 프로그램의 전체 국면 임 을 대체적으로 알 수 있다.ASP 시대 에 저 희 는 보통 Application 에 공공 데 이 터 를 저장 합 니 다.ASP.NET 에서 Application 의 기본 적 인 의 미 는 변 하지 않 았 습 니 다.서버 메모리 에 저 장 된 수량 이 적 고 사용자 가 요청 한 데 이 터 를 독립 적 으로 저장 합 니 다.접근 속도 가 매우 빠 르 고 프로그램 이 멈 추 지 않 으 면 데이터 가 계속 존재 하기 때문에 우 리 는 보통 applicationStart 를 사용 할 때 데 이 터 를 초기 화하 고 나중에 방문 할 때 신속하게 방문 하고 검색 할 수 있 습 니 다.
Global.asax 는 응용 프로그램의 전역 을 처리 하 는 이벤트 입 니 다.파일 을 열 면 시스템 이 이벤트 처리 방법 을 정 의 했 습 니 다.

void Application_Start(object sender, EventArgs e)
{
    //
}  
 
void Application_End(object sender, EventArgs e)
{
    // 
}      
 
void Application_Error(object sender, EventArgs e)
{
    //
}
 
void Session_Start(object sender, EventArgs e)
{
    //
}
 
void Session_End(object sender, EventArgs e)
{
    //
 
    // : Web.config sessionstate InProc , Session_End
 
    // StateServer SQLServer,
}
이 설명 을 통 해 알 수 있 듯 이 이 사건 들 은 전체 프로그램의 사건 으로 특정한 페이지 와 관계 가 없다.
2.응용 프로그램 대상 의 응용
1.애플 리 케 이 션 대상 으로 정보 저장
(1)、애플 리 케 이 션 대상 으로 정보 저장
응용 프로그램("키 이름")=값
또는 응용 프로그램("키 이름",값)
(2)애플 리 케 이 션 대상 정보 획득
변수 이름=응용 프로그램("키 이름")
또는:변수 이름=application.Item("키 이름")
또는:변수 이름=application.Get("키 이름")
(3)애플 리 케 이 션 대상 의 값 업데이트
응용 프로그램.set("키 이름",값)
(4)、키 하나만 삭제
응용 프로그램.Remove("키 이름",값)
(5)、모든 키 삭제
Application.RemoveAll()
또는 응용 프로그램.clear()
2.여러 사용자 가 같은 애플 리 케 이 션 대상 에 동시에 액세스 하 는 경우 가 있 을 수 있 습 니 다.
이렇게 하면 여러 사용자 가 같은 애플 리 케 이 션 이름 의 대상 을 수정 하여 데이터 가 일치 하지 않 는 문제 가 발생 할 수 있다.
HttpApplicationState 클래스 는 응용 프로그램 대상 에 대한 접근 동기 화 문 제 를 해결 하기 위해 두 가지 방법 Lock 과 Unlock 을 제공 합 니 다.한 번 에 하나의 스 레 드 만 응용 프로그램 상태 변수 에 접근 할 수 있 습 니 다.
잠 금 및 잠 금 해제 에 대하 여
잠 금:application.Lock()
접근:응용 프로그램("키 이름")=값
잠 금 해제:application.Unlock()
메모:Lock 방법 과 UnLock 방법 을 쌍 으로 사용 해 야 합 니 다.
사이트 방문 자 수,채 팅 방 등 장치 에 사용 할 수 있 습 니 다.
3.애플 리 케 이 션 이벤트 사용
ASP.NET 응용 프로그램 에는 선택 할 수 있 는 특수 한 파일 인 Global.sax 파일 을 포함 할 수 있 으 며,ASP.NET 응용 프로그램 파일 이 라 고도 부 릅 니 다.ASP.NET 또는 HTTP 모듈 에서 발생 하 는 응용 프로그램 수준의 이벤트 에 응답 하 는 코드 를 포함 합 니 다.
3.응용 프로그램 통계 사이트 방문
만약 우리 가 응용 프로그램 을 이용 하여 사이트 의 방문 상황 을 통계 하 기 를 원한 다 면.
・페이지 클릭 수.페이지 가 한 번+1 을 눌 렀 습 니 다.같은 사용자 가 여러 번 페이지 를 눌 렀 든 말 든.
・사용자 방문 수.한 사용자+1 이 왔 습 니 다.한 사용자 가 여러 페이지 를 열 면 이 숫자 에 영향 을 주지 않 습 니 다.
우 리 는 우선 ApplicationStart 에서 두 변 수 를 초기 화 합 니 다.

void Application_Start(object sender, EventArgs e)
{
    //
    Application["PageClick"]=0;
    Application["UserVisit"]=0;
}
사용자 방문 수 는 Session 에 따라 판단 되 므 로 SessionStart 에서 이 변 수 를 추가 합 니 다:

void Session_Start(object sender, EventArgs e)
{
    Application.Lock();
    Application["UserVisit"]=(int)Application["UserVisit"]+1;
    Application.UnLock();
}
우 리 는 애플 리 케 이 션 의 사용 방법 과 Session 의 차이 가 많 지 않다 는 것 을 보 았 다.유일 하 게 주의해 야 할 것 은 애플 리 케 이 션 의 역할 범 위 는 전체 애플 리 케 이 션 으로 같은 시간 에 애플 리 케 이 션 을 방문 하 는 사용자 가 많 을 수 있 으 므 로 애플 리 케 이 션 을 수정 할 때 애플 리 케 이 션 을 잠 그 고 수정 이 끝 난 후에 잠 금 을 풀 어야 한 다 는 점 이다.
페이지 클릭 수 는 페이지 Page로드 할 때 수정 해.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Application.Lock();
        Application["PageClick"] = (int)Application["PageClick"] + 1;
        Application.UnLock();
        Response.Write(string.Format(" :{0}<br/>", Application["PageClick"]));
        Response.Write(string.Format(" :{0}<br/>", Application["UserVisit"]));
    }
}
4.응용 프로그램 총화
ASP.NET 2.0 에서 응용 프로그램 은 이미 매우 중요 하지 않 게 변 했다.애플 리 케 이 션 의 자기 관리 기능 이 매우 약 하기 때문에 세 션 과 같은 시간 초과 메커니즘 이 없다.애플 리 케 이 션 의 데 이 터 는 수 동 으로 삭제 하거나 수정 해 야 메모 리 를 풀 수 있 고,애플 리 케 이 션 이 멈 추 지 않 는 한 애플 리 케 이 션 의 내용 은 사라 지지 않 는 다 는 것 이다.다음 절 에서 우 리 는 Cache 를 사용 하여 애플 리 케 이 션 과 유사 한 기능 을 실현 할 수 있 고 Cache 는 풍부 하고 강력 한 자기 관리 체 제 를 가 진 다 는 것 을 알 수 있다.
애플 리 케 이 션 의 특성 을 정리 합 시다.
저 장 된 물리 적 위치서버 메모리.
・기억의 유형 제한.임의의 유형.
상태 사용 범위전체 응용 프로그램.
・메모리 의 크기 제한임의의 크기.
라 이 프 사이클프로그램 이 시 작 될 때 만 듭 니 다(정확히 말 하면 사용자 가 URL 을 처음 요청 할 때 만 듭 니 다).프로그램 이 끝 날 때 만 듭 니 다.
안전 과 성능.데 이 터 는 항상 서버 에 저장 되 어 안전성 이 높 지만 너무 많은 데 이 터 를 저장 하기 가 쉽 지 않다.
・장단 점 및 주의사항.검색 데이터 속도 가 빠 르 지만 자기 관리 체제 가 부족 하여 데이터 가 자동 으로 방출 되 지 않 습 니 다.

좋은 웹페이지 즐겨찾기