닷넷 코어 시리즈 : 구성 파일을 읽는

1. 콘솔 응용 프로그램

   새로운 콘솔 응용 프로그램을 만들고이 개 패키지를 추가합니다 :

설치 패키지 Microsoft.Extensions.Configuration 
설치 패키지 Microsoft.Extensions.Configuration.Json

1.1 하나의 구성 파일

  프로필 appsettings.json 만들기 :

{ 
  "데이터": "10000", 
  "ConnectionStrings": { 
    "DevContext": "开发库", 
    "ProdContext": "生产库" 
  } 
}

  구성 파일을 읽습니다 :

사용하여 시스템; 

사용 System.IO 단계;
사용 Microsoft.Extensions.Configuration 단계; 

네임 스페이스 Libing.Core.ConsoleApp 
{ 
    클래스 프로그램 
    { 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            var에 빌더 = ConfigurationBuilder () 
                .SetBasePath (Directory.GetCurrentDirectory ()) 
                .AddJsonFile ( " appsettings.json " );
            VAR의 구성 = builder.Build (); 

            Console.WriteLine (구성 [ " 데이터 "]) // 버튼 구성 
            (config.GetSection을 (Console.WriteLine을 " ConnectionStrings : DevContext " )를 .Value); // 계층 키 
        } 
    } 
}

  ConfigurationBuilder 개체를 통해 개체를 만들 수 ConfigurationRoot는, 구성 파일을 읽습니다.

  SetBasePath는 : 프로필 기본 경로를 설정

  AddJsonFile : JSON 파일을 읽어 추가

var에 빌더 = ConfigurationBuilder () 
    .SetBasePath (Directory.GetCurrentDirectory ()) 
    .AddJsonFile ( " appsettings.json " ) ;

  옵션 설정 파일을 수정하고 자동으로 설정을로드 :

var에 빌더 = ConfigurationBuilder () 
    .SetBasePath (Directory.GetCurrentDirectory ()) 
    .AddJsonFile ( " appsettings.json " ) ;

  구성 키 규칙 :

  (1) 키는 대소 문자를 구별하지 않다. 예를 들어, ConnectionString을 ConnectionString을하고는 해당 키 간주됩니다.

  (2) 계층 키 구분 콜론 (:)

이상 1.2 프로필

  AddJsonFile : 여러 프로파일을 추가.

var에 빌더 = ConfigurationBuilder () 
    .SetBasePath (Directory.GetCurrentDirectory ()) 
    .AddJsonFile ( " appsettings.json " ) 
    .AddJsonFile ( " appsettings.Development.json " , 옵션 : 사실 , reloadOnChange : 사실 );
{ 
  "데이터": "10000", 
  "ConnectionStrings": { 
    "의 DefaultContext": "默认库" 
  } 
}
appsettings.json
{ 
  "데이터": "10000", 
  "ConnectionStrings": { 
    "의 DefaultContext": "开发库" 
  } 
}
appsettings.Development.json
사용하여 시스템; 

사용 System.IO 단계;
사용 Microsoft.Extensions.Configuration 단계; 

네임 스페이스 Libing.Core.ConsoleApp 
{ 
    클래스 프로그램 
    { 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            var에 빌더 = ConfigurationBuilder () 
                .SetBasePath (Directory.GetCurrentDirectory ()) 
                .AddJsonFile ( " appsettings.json " ) 
                .AddJsonFile ( " appSettings는 .Development.json " );
            var에 설정 =builder.Build (); 

            Console.WriteLine (config.GetConnectionString ( " 의 DefaultContext " )); // 출력 : 개발 라이브러리 
        } 
    } 
}
사용하여 시스템; 

사용 System.IO 단계;
사용 Microsoft.Extensions.Configuration 단계; 

네임 스페이스 Libing.Core.ConsoleApp 
{ 
    클래스 프로그램 
    { 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            var에 빌더 = ConfigurationBuilder () 
                .SetBasePath (Directory.GetCurrentDirectory ()) 
                .AddJsonFile ( " appsettings.Development.json " ) 
                .AddJsonFile ( " appsettings.json " );
            var에 설정 =builder.Build (); 

            Console.WriteLine (config.GetConnectionString ( " 의 DefaultContext " )); // 출력 : 기본 라이브러리 
        } 
    } 
}

  동일한 구성 키는 (AddJsonFile를) 읽을 수있는 파일을 선택합니다 마지막으로 추가했다.

  모든 구성 정보를 읽을 수있는 파일을 추가하려면 공급자 속성을 ConfigurationRoot 통과 할 수 있습니다.

사용하여 시스템; 

사용 System.IO 단계;
사용 Microsoft.Extensions.Configuration 단계; 

네임 스페이스 Libing.Core.ConsoleApp 
{ 
    클래스 프로그램 
    { 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            var에 빌더 = ConfigurationBuilder () 
                .SetBasePath (Directory.GetCurrentDirectory ()) 
                .AddJsonFile ( " appsettings.json " ) 
                .AddJsonFile ( " appSettings는 .Development.json " );
            var에 설정 =builder.Build (); 

            foreach는 ( var에 제공 에서 config.Providers) 
            { 
                provider.TryGet ( " ConnectionStrings 다음의 DefaultContext " , OUT  문자열 의 DefaultContext); 
                Console.WriteLine (의 DefaultContext); 
            } 

            // 출력 : 기본 라이브러리
             //       개발 라이브러리 
        } 
    } 
}

2. API 응용 프로그램

추천

출처www.cnblogs.com/libingql/p/11326358.html