VB.NET 2008/VB - 리소스 액세스

응용 프로그램 액세스 - 응용 프로그램 설정

본클라쓰 2011. 7. 1. 11:03

 

Windows Forms의 응용 프로그램 설정 기능을 사용하면 클라이언트 컴퓨터에서 사용자 지정 응용 프로그램과 사용자 기본 설정을 쉽게 만들고 저장하고 유지 관리할 수 있다.

 

Windows Forms 응용 프로그램 설정을 사용하면 데이터베이스 연결 문자열과 같은 응용 프로그램 데이터 뿐 아니라 사용자 응용 프로그램 기본 설정과 같은 사용자 특정 데이터도 저장할 수 있다.

 

 

 

응용 프로그램 설정이란?

 

Windows Forms 응용 프로그램에는 응용 프로그램 실행에 중요한 역할을 하는 데이터가 필요하지만 이런 데이터를 응용 프로그램 코드에 직접 포함하고 싶지 않은 경우가 많다. 응용 프로그램에서 웹 서비스나 데이터베이스 서버를 사용하는 경우, 나중에 해당 파일을 다시 컴파일하지 않고도 변경할 수 있도록 이 정보를 별도의 파일에 저장해야 할 수도 있다.

 

마찬가지로 응용 프로그램에서 현재 사용자에 따라 데이터를 저장해야 할 수 있다. 예를 들어, 대부분의 응용 프로그램에는 응용 프로그램의 모양과 동작을 사용자 지정하는 사용자 기본 설정이 있다.

 

응용 프로그램 설정을 사용하면 클라이언트 컴퓨터에서 응용 프로그램 범위 설정과 사용자 범위 설정 모두를 쉽게 저장할 수 있다. 관련 설정을 그룹별로 이름을 지정하여 사용하기 쉽고 알아보기 쉽게 할 수도 있다. 이렇게 정의된 설정은 영구적으로 유지되고 런타임에 자동으로 메모리에서 읽어들여진다.

 

응용 프로그램 범위 설정인지 사용자 범위 설정인지에 따라 데이터를 여러 구성 파일(.config)에 대해 xml로 유지함으로써 응용 프로그램 설정이 작동한다. 대부분의 경우 응용 프로그램 범위 설정은 읽기 전용인 프로그램 정보이기 때문에 일반적으로 덮어쓸 필요가 없다. 반대로 사용자 범위 설정은 응용 프로그램의 부분 신뢰 환경에서 실행되는 경우에도 런타임에 안전하게 읽고 쓸 수 있다.

 

설정은 구성 파일에 XML 조각으로 저장된다. 응용 프로그램 범위 설정을 <application.settins> 요소로 나타내며 일반적으로 app.exe.config에 배치된다. 여기서 app는 주 실행 파일의 이름이다.

 

 

응용 프로그램의 설정은 솔루션이나 프로젝트의 프로젝트를 선택하면 지정할 수 있다.

 

위 설정을 읽어서 PropertyGrid 에 출력하는 예제 코드이다.


PropertyGrid1.SelectedObject = My.Settings

My.Settings.NickName = "홍길동"
' Attritue for the user-scope settings
Dim userAtt As New System.Configuration.UserScopedSettingAttribute
Dim attrs As New System.ComponentModel.AttributeCollection(userAtt)
PropertyGrid1.BrowsableAttributes = attrs

 

 

위와 같은 설정은 실행파일에 설정 정보가 저장되는 장점이 있기 때문에 별도의 설정 파일을 생성하여 읽고, 쓰는 등의 추가적인 작업이 줄어드는 장점이 있다.

 

하지만 새로운 설정을 프로그램 상에서 추가하거나, 제거, 변경하는 데에는 제약이 따른다는 단점도 존재한다.