2012-04-10 5 views
3

좋아,이 사진은 나 혼란 스럽다. 나는 web.config 파일에서 내 설정을 생략하면AppSettings와 Web.Config의 프로젝트 별 설정

  • :이 약 2 개 질문이

    <CableSolve.Web.Properties.Settings> 
        <setting name="GenerateBoothReportAttributes" serializeAs="String"> 
        <value>327, 329, 330, 369, 342</value> 
        </setting> 
    </CableSolve.Web.Properties.Settings> 
    

    :

    string csvOfAttributes = CableSolve.Web.Properties.Settings.Default.GenerateBoothReportAttributes; 
    

    내 Web.config의에 : 나는 다음이 컴파일 오류가 발생합니다. 어떻게 가능합니까? Web.config는 사용자가 편집 할 수 있습니다. 나는 런타임 오류 만 예상 할 것이다. 내 응용 프로그램을 컴파일하고 배포 한 다음 사용자가이 설정의 이름을 편집하면 컴파일 된 코드가 손상되지 않습니까?

  • 잠재적으로이 설정을 내 web.config 파일의 appConfig 섹션에 저장할 수 있습니다. 값을 액세스하려면 ConfigurationManager를 거쳐야하며 설정이 누락 된 경우 런타임시에만 null 객체가 수신됩니다. 이것은 컴파일하는 동안 발생하는 에러를 선호하는 경향이 있기 때문에 덜 유익한 것으로 보이지만 궁금한 점이 있습니다 : 이 두 옵션의 차이점은 무엇입니까? 언제 사용해야합니까?
+0

http://stackoverflow.com/a/7899056/615424 실행시이를 처리하는 사용하는 것 –

답변

0

나는 대답이 대부분 질문에 포함되어 있다고 생각합니다. 전체적인 차이점은 기본 키 - 값 쌍 스키마 절보다 복잡한 스키마입니다. 이 차이점은 약형 형과 강형 형, 런타임과 컴파일 타임의 차이입니다. 일반적으로 후자는 .NET이 Javascript보다 "더 뛰어나다"는 동일한 의미에서 더 낫습니다. 예측할 수없고 추적하기 어려운 방법으로 응용 프로그램에 거품을내는 대신 오류를 일찍 알립니다. 강한 스키마 환경에 예외가 포함될 수 있습니다

  • 애플리케이션 요구 사항이 루트 수준의 구성으로 작업하는
  • 스키마에 잠 그려하지 않도록 진화되는 다른 개발자 나 응용 프로그램은
  • 당신은 "무효"구성을 허용하고