다음을 통해 공유


ASP.NET 프로필 속성 개요

업데이트: 2007년 11월

대부분의 응용 프로그램에서 사용자의 고유한 정보를 저장하고 사용할 수 있습니다. 사용자가 사이트를 방문할 경우에는 이전에 저장한 정보를 사용하여 개별 사용자에 맞게 설정된 웹 응용 프로그램을 제공할 수 있습니다. 응용 프로그램을 개별 사용자에 맞게 설정하려면 다양한 요소가 필요합니다. 고유한 사용자 식별자를 사용하여 정보를 저장하고, 사용자가 사이트를 다시 방문할 때 해당 사용자를 인식하여 필요한 사용자 정보를 페치할 수 있어야 합니다. 이러한 모든 작업을 자동으로 수행할 수 있는 ASP.NET 프로필 기능을 사용하면 응용 프로그램을 단순화할 수 있습니다.

ASP.NET 프로필 기능은 정보를 개별 사용자와 연결하여 영구적인 형식으로 저장합니다. 프로필을 사용하면 고유한 데이터베이스를 만들어 유지 관리하지 않고도 사용자 정보를 관리할 수 있습니다. 또한 응용 프로그램의 모든 위치에서 액세스할 수 있는 강력한 형식의 API를 사용하여 ASP.NET 프로필의 사용자 정보를 사용할 수 있습니다.

프로필을 사용하여 모든 형식의 개체를 저장할 수 있습니다. 프로필 기능은 형식 안전성이 유지되는 방식으로 데이터를 사용하는 동시에 거의 모든 종류의 데이터를 정의하고 유지 관리할 수 있도록 하는 일반적인 저장소 기능을 제공합니다.

ASP.NET 프로필 작업 방법

프로필을 사용하려면 먼저 ASP.NET 웹 응용 프로그램의 구성 파일을 수정하여 프로필을 사용하도록 설정합니다. 구성 작업의 일부로 프로필 공급자, 즉 프로필 데이터 저장 및 검색 같은 하위 수준의 작업을 수행하는 내부 클래스를 지정합니다. .NET Framework에 포함되어 프로필 데이터를 SQL Server에 저장하는 기본 프로필 공급자를 사용하거나 프로필 공급자 구현 항목에 설명된 대로 프로필 공급자를 사용자가 직접 만들어 사용할 수 있습니다. 사용자가 선택한 데이터베이스에 연결하는 SqlProfileProvider 인스턴스를 지정하거나, 프로필 데이터를 로컬 웹 서버에 저장하는 기본 SqlProfileProvider 인스턴스를 사용할 수 있습니다.

유지 관리할 값의 속성 목록을 정의하여 프로필 기능을 구성합니다. 예를 들어 응용 프로그램에서 일기 예보 같은 지역별 정보를 제공할 수 있도록 사용자의 우편 번호를 저장할 수 있습니다. 구성 파일에서 PostalCode라는 프로필 속성을 정의합니다. 구성 파일의 profile 섹션은 다음과 같습니다.

<profile>
  <properties>
    <add name="PostalCode" />
  </properties>
</profile>

응용 프로그램이 실행되면 ASP.NET에서는 ProfileBase 클래스를 상속하여 동적으로 생성되는 ProfileCommon 클래스를 만듭니다. 동적 ProfileCommon 클래스에는 응용 프로그램 구성에 지정된 프로필 속성 정의를 통해 만들어진 속성이 포함되어 있습니다. 그런 다음 이 동적 ProfileCommon 클래스의 인스턴스가 현재 HttpContextProfile 속성 값으로 설정되어 응용 프로그램의 페이지에서 사용할 수 있습니다.

응용 프로그램에서 저장할 값을 하나 이상 수집한 다음 이전에 정의한 프로필 속성에 할당합니다. 예를 들어 사용자가 우편 번호를 입력하는 텍스트 상자가 응용 프로그램의 홈 페이지에 포함되어 있을 수 있습니다. 사용자가 우편 번호를 입력하면 다음 예제와 같이 Profile 속성을 설정하여 현재 사용자에 대한 값을 저장합니다.

Profile.PostalCode = txtPostalCode.Text
Profile.PostalCode = txtPostalCode.Text;

Profile.PostalCode의 값을 설정하면 이 값이 현재 사용자에 대해 자동으로 저장됩니다. 현재 사용자를 확인하기 위해 코드를 작성하거나 값을 데이터베이스에 명시적으로 저장할 필요가 없습니다. 프로필 기능을 통해 이러한 작업이 자동으로 수행됩니다.

이 값을 사용하려면 값을 설정할 때와 거의 같은 방법을 사용하여 가져오면 됩니다. 예를 들어 다음 코드 예제에서는 GetWeatherInfo라는 가상 함수를 호출하고 프로필에 저장된 현재 사용자의 우편 번호를 이 함수에 전달하는 방법을 보여 줍니다.

weatherInfo = GetWeatherInfo( Profile.PostalCode )
weatherInfo = GetWeatherInfo( Profile.PostalCode );

현재 사용자를 명시적으로 확인하거나 데이터베이스 조회를 수행할 필요가 없습니다. 프로필에서 속성 값을 가져오기만 하면 ASP.NET에서 필요한 작업을 수행하여 현재 사용자를 식별하고 영구 프로필 저장소에서 값을 찾습니다.

참고 항목

개념

ASP.NET 프로필 속성 개요

ASP.NET 프로필 속성에 대한 사용자 식별

ASP.NET 프로필 속성 정의

ASP.NET 프로필 공급자