응용프로그램 설정

Ad


Windows Forms의 응용 프로그램 설정 기능을 사용하면 클라이언트 컴퓨터에서 사용자 지정 응용 프로그램과 사용자 기본 설정을 쉽게 만들고 저장 및 유지 관리할 수 있습니다. Windows Forms 응용 프로그램 설정을 통해 데이터베이스 연결 문자열과 같은 응용 프로그램 데이터뿐 아니라 사용자 응용 프로그램 기본 설정과 같은 사용자별 데이터도 저장할 수 있습니다. Visual Studio 또는 사용자 지정 관리 코드를 사용하여 새 설정을 만들고, 디스크에서 읽거나 쓰고, 폼의 속성에 바인딩하고, 설정 데이터를 로드 및 저장하기 전에 유효성을 검사할 수 있습니다.

응용 프로그램 설정은 클라이언트 컴퓨터에 응용 프로그램 범위 설정과 사용자 범위 설정 둘 다를 쉽게 저장할 수 있는 방법을 제공하여 두 가지 요구를 모두 충족합니다. Visual Studio 또는 코드 편집기에서 속성 이름, 데이터 형식 및 범위(응용 프로그램 또는 사용자)를 지정하여 지정된 속성에 대한 설정을 정의합니다. 사용하기 편하고 읽기 쉽도록 관련 설정을 명명된 그룹에 배치할 수도 있습니다. 정의된 설정은 유지되며 런타임에 자동으로 메모리에 읽어옵니다. 플러그형 아키텍처에서는 지속성 메커니즘을 변경할 수 있지만 기본적으로 로컬 파일 시스템이 사용됩니다.

자세한 내용은 MSDN: 응용 프로그램 설정 개요 페이지에서 확인할 수 있습니다.

사용의 예

간단한 설정의 경우 Visual Studio 에서 프로젝트 설정 페이지에서 응용프로그램 설정을 관리할 수 있습니다.

스트링, 불리언을 클라이언트에 저장하여 관리하고자 하는 응용프로그램을 예로 작성하여습니다.

Smaple Windows Form App

프로젝트 속성창을 열고, 아래와 같이 설정 탭을 선택하여 필요한 설정 항목을 추가합니다.

Smaple Windows Form App

프로젝트 속성창의 설정 탭에서 항목을 추가하면 프로젝트의 app.config에 아래와 같은 내용이 추가됩니다.

<userSettings>
    <SampleSettings.Properties.Settings>
        <setting name="UserData1" serializeAs="String">
            <value />
        </setting>
        <setting name="UserData2" serializeAs="String">
            <value>False</value>
        </setting>
    </SampleSettings.Properties.Settings>
</userSettings>

이제 설정값을 읽고 쓰는 간단한 코드만 구현하면 됩니다.

아래 코드는 샘플 폼 클래스의 생성자에 추가할 로드 이벤트와 버튼 클릭 이벤트 입니다.

로드 이벤트에서 설정값을 읽어 컨트롤의 값으로 설정하고, 버튼 클릭에서 설정값을 디스크로 쓰기가 실행됩니다.

this.Load += (s, e) =>
{
    this.userDataTextBox.Text = Properties.Settings.Default.UserData1;
    this.userCheckBox.Checked = Properties.Settings.Default.UserData2;
};

this.saveButton.Click += (s, e) =>
{
    Properties.Settings.Default.UserData1 = this.userDataTextBox.Text;
    Properties.Settings.Default.UserData2 = this.userCheckBox.Checked;
    Properties.Settings.Default.Save();
};

응용 프로그램을 실행하여 저장을 실행한 후 사용자별 자료가 관리되는 디렉터리에서 실제 디스크에 저장된 User.config 파일을 통해 어떻게 정보가 저장되었는지 확인할 수 있습니다.

%appdata% 디렉터리로 이동 후 상위 디렉터리로 이동, 그리고 Local 디렉터리로 이동하시면 패키지 이름과 동일한 디렉터리를 찾으실 수 있습니다.

파일이 저정된 경로 예제

아래는 응용 프로그램을 실행하여 저장 후 생성된 파일의 내용입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <SampleSettings.Properties.Settings>
            <setting name="UserData1" serializeAs="String">
                <value>aaa</value>
            </setting>
            <setting name="UserData2" serializeAs="String">
                <value>True</value>
            </setting>
        </SampleSettings.Properties.Settings>
    </userSettings>
</configuration>

app.config와 매우 유사한 엘리먼트를 갖는 config 파일입니다.

적용의 예

서버에 저장할 필요가 없는 정보를 사용자별로 관리하실 수 있습니다.

로컬 경로에 잘 찾아보시면 config 파일 존재하며, 저장된 자료도 보실 수 있습니다.
암호화되어 식별은 불가능하지만, 파일이 관리로 관리되고 있습니다.