2013-04-09 3 views
1

다음의 app.config 갖는 읽고 얼마나이 app.config 설정을 읽고 쓰는 방법은 무엇입니까?

<configuration> 
    <configSections> 
    <sectionGroup name="businessObjects"> 
     <sectionGroup name="crystalReports"> 
     <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" /> 
     </sectionGroup> 
    </sectionGroup> 
    </configSections> 

    <businessObjects> 
    <crystalReports> 
     <crystalReportViewer> 
     <add key="maxNumberListOfValues" value="5000"/> 
     </crystalReportViewer> 
    </crystalReports> 
    </businessObjects> 

을 어떻게 런타임에, 설정 maxNumberListOfValues ​​설정합니다? 추가적으로 app.config가 존재하지 않는다면 어떨까요? 어떻게하면 런타임에 설정을 dinamically 설정하겠습니까?

+0

우리의 앱이 아닌 Crystal Reports Runtime을 사용하는 변수는 문제가 그들이 다른 값으로 설정하는 것을 보여주지 않는다는 것입니다 ... 런타임에이 변수 값을 변경하는 방법을 알고 싶습니다. .. – VSP

답변

0

app.config 내의 모든 설정 지점은 정적 인 고정 변수라는 것을 의미합니다. 그것들은 바뀌려고하지 않습니다. 하는 말에, 당신은의 app.config를 가지고 있지 않은 경우, 당신은 단순히 솔루션의 글로벌 변수로 maxNumberListOfValues을 설정할 것 Reading settings from App.Config

: 이와 같은

답변은 응용 프로그램 구성에서 변수를 읽고 설명 모든 양식/페이지가 상속하는 기본 파일.

+0

전적으로 사실입니다. 응용 프로그램 설정을 수정하고 ConfigurationSections에 저장할 수 있습니다. 이것을 위해 전역 변수를 사용하는 것은 좋지 않습니다. –

+0

Crystal Reports Runtime을 직접 사용하는 변수가 아니라 문제는 그 값을 설정하는 다른 방법을 보여주지 못한다는 것입니다 ... 런타임에이 변수 값을 변경하는 방법을 알고 싶습니다. – VSP

+0

@Sani Huttunen의 동의를 얻었으나 즉시 ConfigurationSections를 수정하지 않아도됩니다. –

1

당신은 또한

Configuration configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

  //Check 
      if (ConfigurationManager.AppSettings.AllKeys.Contains(str someKey)) 
      { 
       if (configFile.AppSettings.Settings[str someKey].Value == string.Empty) 
        return true; 
      } 
      else 
      { 
       // If app config does not contain needed Keys 
       //Handle issue 
      } 

그러나, 경우 같은 것을 사용할 수 있습니다 비어 있는지 여부를 확인하거나하지 .. 편집 할 app.config 파일을 얻기 위해 코드를 사용할 수 있습니다 app.config 파일은 값만 읽는 것입니다. 런타임에 편집하려면 사용자 구성 파일을 사용하십시오. Visual Studio에는 프로젝트의 properties 폴더에 settings.Settings이라는 파일이 있습니다. 이것을 사용하십시오.

+0

Crystal Reports Runtime을 직접 사용하는 변수가 아니라 문제는 그 값을 설정하는 다른 방법을 보여주지 못한다는 것입니다 ... 런타임에이 변수 값을 변경하는 방법을 알고 싶습니다. – VSP

+0

@ ase69s settings.Settings 파일을 사용하십시오. 변수를'user scope' 속성으로 정의하고 그것을 변경하거나 런타임에 읽을 수 있습니다. – Irshad

관련 문제