2013-04-25 3 views
0

그래서 app-config 파일을 완전히 처음 사용하고 있습니다. 동일한 키에서 여러 값을 읽을 수 있도록 사용자 지정 구성 처리기를 만들려고 시도했지만, Microsoft 웹 사이트의 설명서를 따르지 만 문제가 발생했습니다.사용자 지정 구성 섹션 처리기의 문제

내가이 오류

"인식 할 수없는 속성 '데이터 유형을'슬로우 속성 이름은 대소 문자를 구분합니다 (C 내 코드를 실행하려고 할 때마다 : \ 사용자 \ stephen.carmody 바탕 화면 \ FlatFileFactory \ - 복사.. BIN \ 디버그 \ FlatFileFactory.vshost.exe.Config는 라인 (21)) "

그것은 단지 요소의 첫 번째 두 값을 인식하는 것, 제 \"\ FlatFileFactory는 데이터 유형 "여기

이되는 오류가 발생 내 설정 파일을보세요

휴식 디버깅하는 동안 발생하는 위치 여기
namespace FlatFileTestCaseAutomater 
{ 
    class CustomConfigurationSectionHandler : ConfigurationSection 
    { 
     [ConfigurationProperty("cHeaderProperty")] 
     public CHeaderPropertyElement Property 
    { 
     get 
     { 
      return (CHeaderPropertyElement)this["cHeaderProperty"]; 
     } 
     set 
     { this["cHeaderProperty"] = value; } 
    } 
} 


public class ClaimHeaderElement : ConfigurationElement 
{ 
    [ConfigurationProperty("name", DefaultValue = "", IsRequired = true)] 
    [StringValidator(InvalidCharacters = "[email protected]#$%^&*()[]{}/;'\"|\\", MinLength = 1, MaxLength = 60)] 
    public String Name 
    { 
     get 
     { 
      return (String)this["name"]; 
     } 
     set 
     { 
      this["name"] = value; 
     } 
    } 

    [ConfigurationProperty("dataType", DefaultValue = "", IsRequired = true)] 
    [StringValidator(InvalidCharacters = "[email protected]#$%^&*()[]{}/;'\"|\\", MinLength = 1, MaxLength = 60)] 
    public String DataType 
    { 
     get 
     { 
      return (String)this["dataType"]; 
     } 
     set 
     { 
      this["dataType"] = value; 
     } 
    } 

    [ConfigurationProperty("maxLength", DefaultValue = int.MaxValue, IsRequired = false)] 
    // [IntegerValidator(ExcludeRange = false, MaxValue = 24, MinValue = 0)] 
    public int MaxLength 
    { 
     get 
     { return (int)this["maxLength"]; } 
     set 
     { this["maxLength"] = value; } 
    } 

} 

} 

에 코드입니다 :
FlatFileTestCaseAutomater.CustomConfigurationSectionHandler config = 
    (FlatFileTestCaseAutomater.CustomConfigurationSectionHandler)System.Configuration.ConfigurationManager.GetSection(
    "propertyValuesGroup/propertyValues"); 

내가 비슷한 스레드를 알고 있지만 이전에 게시되어 있습니다 여기에 603,210

내 사용자 정의 핸들러 클래스보고있다 나는 지금까지 몇 시간 동안 행운이 없었습니다.

+0

내가 잘못 될 수 있지만 설정에서 이름이 같은 '사건'의 보이지 않는 (코드 기준)해야한다, 그들은 모두 소문자 (데이터 유형 및 최대 길이)입니다. 여기에 붙여 넣을 때 오타가 있습니까? – NSGaga

+0

같은 케이스? 방법? 나는 그 (것)들에게 동일한, 동일한 결과를 만들는 것을 시도했다 – Steve2056726

답변

0

내가 틀릴 수도 있지만 설정의 이름이 같지 않습니다. 'case'는 모두 소문자 (데이터 유형 및 최대 길이)입니다. 여기에 붙여 넣을 때 오타가 있습니까?

속성은 참으로 대소 문자를 구분합니다 - 그것은

<cHeaderProperty name="txnNo" nullable="yes" dataType="int" maxLength="" /> 
+0

그것은 실수이었다, 나는 원래 그 (것)들을 매치 해달라고했다, 아직도 나던 일. 이 [link]에 따르면 http://msdn.microsoft.com/en-us/library/2tw134k3.aspx [/ link]이 값을 호출 할 수 있어야합니다 - config.Property.MaxLenth, maxLength is not available 옵션을 입력 할 때 config.Property. – Steve2056726