다음을 통해 공유


방법: Web.config 파일에서 연결 문자열 읽기

업데이트: 2007년 11월

이 예제에서는 Web.config 파일에서 연결 문자열을 읽습니다. connectionStrings 요소는 ConnectionStringSettings 개체의 ConnectionStringSettingsCollection 컬렉션입니다. 컬렉션 요소를 사용하는 것이 다른 구성 요소를 사용할 때보다 조금 더 복잡할 수 있습니다.

구성 설정을 업데이트하려면 구성 개체의 Save 또는 SaveAs 메서드를 사용합니다. 자세한 내용은 구성 클래스 사용을 참조하십시오. 추가 코드 예제를 보려면 ConnectionStringsSection 클래스 및 관련 클래스를 참조하십시오.

이 예제에서는 비정적 메서드를 사용하여 구성 데이터를 가져오므로 모든 응용 프로그램에서 구성 정보를 가져올 수 있습니다. 사용 중인 코드가 있는 응용 프로그램에서 구성 정보를 가져오려면 처리 속도가 빠른 정적 메서드를 사용합니다. 자세한 내용은 ASP.NET 구성 API 개요에서 로컬 및 원격 구성 설정 사용 단원을 참조하십시오.

참고:

이 예제는 MyWebSiteRoot라는 웹 사이트에 적용됩니다. 샘플을 실행하려면 이러한 이름을 갖는 웹 사이트에서 샘플을 실행하거나 OpenWebConfiguration 메서드에 제공되는 문자열을 해당 웹 사이트 이름으로 바꾸어야 합니다.

예제

Dim rootWebConfig As System.Configuration.Configuration
    rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
    connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
    If Not (Nothing = connString.ConnectionString) Then
        Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
    Else
        Console.WriteLine("No Northwind connection string")
    End If
End If
         System.Configuration.Configuration rootWebConfig =
                System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
            System.Configuration.ConnectionStringSettings connString;
            if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count)
            {
                connString =
                    rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
                if (null != connString)
                    Console.WriteLine("Northwind connection string = \"{0}\"",
                        connString.ConnectionString);
                else
                    Console.WriteLine("No Northwind connection string");
            }

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • 이름이 NorthwindConnectionString인 연결이 들어 있는 루트 Web.config 파일의 connectionStrings 요소. 이 요소는 다음과 같은 형태일 수 있습니다.

    <connectionStrings>
      <add 
        name="NorthwindConnectionString" 
        connectionString="Data Source=serverName;Initial 
        Catalog=Northwind;Persist Security Info=True;User 
        ID=userName;Password=password"
        providerName="System.Data.SqlClient"
      />
    </connectionStrings>
    

    connectionStrings 요소는 <configuration> 요소의 직계 자식이며 system.web 요소의 피어입니다.

    보안 정보:

    사용자 이름 및 암호와 같은 중요한 정보를 구성 파일에 저장하는 경우에는 보호되는 구성을 사용하여 중요한 값을 암호화해야 합니다. 자세한 내용은 방법: 데이터 소스 컨트롤을 사용하는 경우 연결 문자열 보안 유지를 참조하십시오.

강력한 프로그래밍

지정한 연결 문자열이 Web.config 파일에 없으면 개체가 반환되지 않습니다. 연결 문자열을 읽을 때 반드시 코드에서 개체가 반환되었는지 확인해야 합니다.

보안

Windows 보안 설정을 사용하여 구성 파일을 읽을 수 있는 사용자를 제한하는 방법으로 서버의 구성 파일을 보호해야 합니다. connectionString 요소를 암호화하여 보호할 수 있습니다. 자세한 내용은 보호되는 구성을 사용하여 구성 정보 암호화를 참조하십시오.

참고 항목

참조

connectionStrings 요소(ASP.NET 설정 스키마)

ConfigurationSettings