Programming/C#

app.config

lee308812 2019. 3. 5. 22:38

[ appSettings ] 


- CLR보다 그 위에서 실행되는 응용 프로그램에 값을 전달하는 목적으로 사용가능하다.

- key와 value로 구성된다.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
  <appSettings>
    <add key="AdminEmailAddress" value ="lee308812@gmail.com"/>
    <add key="Delay" value="5000"/>
  </appSettings>
</configuration>


- 사용은 아래와 같이 하면 된다.


- 참조 관리자를 통해 Assembly 범주의 "System.Configuration" 을 찾아 참조 추가를 하여야 한다.


using System;
using System.Configuration;

class Program
{
    static void Main(string[] args)
    {
        string txt = ConfigurationManager.AppSettings["AdminEmailAddress"];

        string txt2 = ConfigurationManager.AppSettings["Delay"];

        Console.WriteLine(txt);
        Console.WriteLine(txt2);
    }
}



[ connectionStrings ]


- DB에서 각 ADO.NET 데이터 제공자마다 정형화된 연결 문자열이 정해져 있다.

- MS SQL의 경우 "Data Source=.\SQLEXPRESS; Initial Catalog=TestDB; User ID=sa; Password=1234"


- 이 연결문자열의 경우 SqlConnection을 사용할 때마다 중복해서 사용하기 보다는 공통 변수에 넣어두는데 보통 app.config에 넣어둔다.

나중에 SQL 서버 위치나 계정 정보가 바뀌어도 쉽게 대응할 수 있다.


- 역시 System.Configuration 어셈블리를 참조추가 하여야 한다.


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
  <connectionStrings>
    <add name="TestDB" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=TestDB; User ID=sa; Password=1234"/>
  </connectionStrings>
</configuration>


using System;
using System.Configuration;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        string connectionString = ConfigurationManager.ConnectionStrings["TestDB"].ConnectionString;

        SqlConnection sqlCon = new SqlConnection();
        sqlCon.ConnectionString = connectionString;

        sqlCon.Open();

        sqlCon.Close();
    }
}



'Programming > C#' 카테고리의 다른 글

MSSQL Database 연동(2)  (0) 2019.03.11
MSSQL Database 연동(1)  (0) 2019.03.05
[네트워크 프로그래밍] Http 통신  (0) 2019.03.02
[네트워크 프로그래밍] TCP/IP 예제  (0) 2019.02.27
[네트워크 프로그래밍] UDP 예제  (0) 2019.02.27