2010-05-21 4 views
7

현재 작업중인 프로젝트를 다시 작성하기위한 옵션을 평가 중입니다. app.config 파일의 문자열 형식의 특성으로 인해 약간 미미합니다. 의 app.config App.Config 또는 XAML

  • 스크랩의 app.config에서

    • 를 사용하여 사용자 정의 SectionHandlers 대신 XAML을 사용

      그래서 내가 두 가지 옵션이 좀 더 구조화 된 접근 방식으로 이동하고 싶습니다.

    귀하의 의견과 공포에 대해 이야기하고 싶습니다. XAML을 사용하여 장단점이 무엇입니까?

    건배, 플로리안

  • +0

    +1 config에 Xaml을 사용하는 재미있는 아이디어가 있습니다. – AnthonyWJones

    +0

    Jebrains Resharper 2016.1이 xaml을 사용하여 솔루션 설정을 * .DotSettings.User 파일에 저장하는 것으로 나타났습니다. 위대한 마음 ... –

    답변

    3

    우리가 나는의 app.config을 사용 설정 파일에 대해 얘기하는 경우? 왜? 그것이 그것이 의미하는 바입니다. 자원 (그림, 메시지)에 관해 이야기하고 있다면 XAML 리소스 디렉토리에 넣을 것입니다.

    웹에서 제공 할 수있는 가이드 라인이 있지만 무엇을 넣을 지에 대한 가이드 라인이 있지만 마지막으로 확인한 후 초안에서 app.config afaik를 확인하지 않았습니다.

    그러나 가장 적합한 :

    1

    를 개발 노력의 관점에서하는 일의 절반 다른 다스의 6입니다 않습니다.

    Xaml을 사용하는 경우 Xaml이 만들 클래스 인스턴스 집합을 만들어야합니다.

    Custom SectionHandlers를 사용하는 경우에도이 섹션이 나타내는 클래스 인스턴스를 만들어야합니다. 또한 SectionHandler를 생성해야합니다.

    1-0-0Xaml.

    Xaml의 경우 시작시 xaml을로드하고 앱 전체에서 구성에 액세스하려면 고유 한 인프라를 제공해야합니다.

    한편 섹션 처리기를 사용하면 기존 .NET ConfigurationManager가 이러한 리소스에 액세스 할 수있는 인프라를 제공합니다.

    한 모든

    +4

    다음 사람이 와서 코드를 읽고 나면, 그는 커스텀 섹션 핸들러로 무엇을하고 있는지 이해할 것입니다. 그는 XAML로 WTF 순간을 얻습니다. 2-1 구성. –

    1

    는 .NET 4로 작업하는 경우, 왜 두 가지 옵션을 결합 App.config 내부 XAML을 넣지?

    namespace SomeNamespace 
    { 
        public class SomeType 
        { 
         public SomeType() { … } // XAML requires a parameterless constructor 
         … 
        } 
    } 
    

    마지막의 인스턴스를 검색 : 당신이 유형을 가지고 제공

    <configSections> 
        <section name="SomeType" type="XamlConfigurationSection, …" /> 
    </configSections> 
    
    <SomeType xmlns="clr-namespace:SomeNamespace;assembly=…" 
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
        … 
    </SomeType> 
    

    :

    using System.Configuration; 
    using System.Xaml; 
    using System.Xml; 
    
    public class XamlConfigurationSection : IConfigurationSectionHandler 
    { 
        public object Create(object parent, object configContext, XmlNode section) 
        { 
         return XamlServices.Parse(section.OuterXml); 
        } 
    } 
    

    이 사용자 지정 구성 섹션은 App.config에서 XAML로 설명 개체를 포함 할 수 있습니다 이 유형은 App.config이고 :