2010-02-17 2 views
1

이상적으로 필자는 app.config와 동일한 기본 구조의 파일을 사용하고 설정을 위해 "pathed"XML 저장소를 얻을 수있는 한 설정을 그대로 유지하면서 괜찮을 것입니다. 내가 좋아하는 뭔가를 호출 것.net에서 사용할 XML 파일에 임의 설정을 저장하는 표준 방법이 있습니까?

<Root> 
<ApplicationSettings> 
    <Setting key="SomeKey", value="SomeValue"/> 
</ApplicationSettings> 
</Root> 

:

Settings.Get("ApplicationSettings.SomeKey"); 

을하고 LRESULT로 "someValue와"를 얻을

이상적으로 뭔가를 제공.

누구나 쉽게 할 수있는 쉬운 표준을 알고 있습니다.

답변

2

과 같이 호출했다.

오래 전, Craig Andera는 the last configuration handler you'll ever need을 설명했습니다. app.config를 사용하여 구성을 제공합니다. 다른 곳에서 구성을 가져 오도록 수정할 수 있습니다.

EDIT 상기 링크는 표준의 app.config /의 Web.config를 사용하는
http://sites.google.com/site/craigandera/craigs-stuff/clr-workings/the-last-configuration-section-handler-i-ll-ever-need

+0

이 경로를 시작했지만 .NET 4가 발견되었습니다.0이 방법, 쉬운 방법을 만들었습니다. http://msdn.microsoft.com/en-us/library/k4s6c3a0.aspx에서 최신 .NET Framework를 사용하고 있는지 확인하십시오. –

3

App.Config 파일에 익숙한 것 같이 나는이 질문을 이해할 수 있을지 모르겠다 ... 게시 한 것과 매우 유사한 방법이 있습니다. 프로젝트에 대한 app.config 파일을 만들고 그 안에 다음 코드를 넣어 :

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
     <add key="Key1" value="Value1" /> 
     <add key="Key2" value="Value2" /> 
    </appSettings> 
</configuration> 

을 그리고 당신은 사용하여 코드에 액세스 할 수 있습니다

string key1= ConfigurationSettings.AppSettings["Key1"]; 
+0

그러나 변경을 허용하는 것이 최선의 방안에 위배되는 것으로 보이는 App.Config 리터럴을 사용하고 싶지 않습니다. – Firoso

+0

@firoso - 귀하의 질문에 대해 뭔가 빠졌다고 생각합니다 ... App.Config 파일을 사용하려면 무엇이 필요합니까? App.Config 파일은 프로젝트 전체에서 사용하기 위해 .NET 프로젝트의 구성 설정을 저장하는 표준 방법입니다. – froadie

+1

변경을 허용한다는 것은 무엇을 의미합니까 모범 사례에 대한 것입니까? 나는 web.config를 편집하는 것이 가장 좋은 방법이라고 생각하지만, web.config에 정적 값을 유지하고 외부 app.config에서 추가 값을 참조 할 수 있습니다 (http://weblogs.asp.net/pwilson/ 참조). archive/2003/04/09/5261.aspx) 내가 게시 한 질문에서 볼 수있는 유일한 가치는 여러 파일 및/또는 구성 섹션을 추가 할 수 있다는 것입니다. –

0

당신은 끌어 당기는 기능을 구축 할 수 있습니다 가치. 나는이

Public Class Settings 
    Public Function GetSetting(Byval SettingsKey As String) As String 

     Dim xDoc As New XmlDocument 
     xDoc.Load("app.config") 
     Dim xNode As XmlNode 
     xNode = xDoc.SelectSingleNode(("Settings/setting[@item='" & SettingsKey & "']")) 
     If xNode Is Nothing Then 
      Return String.Empty 
     Else 
      Return xNode.Attributes("value").Value 
     End If 
     xDoc = Nothing 

    End Sub 
End Class 

를 수행 한 다음 예를이

Settings.GetSetting("MyArbitraryKey") 
+0

내 대답이 잘못되지 않았을 때 투표를 좋아합니다. –

1

이동 한 것처럼 나타나는
.

나는 그것을 바꾸는 것이 모범 사례가 아니라고 들었습니다. 누군가가 당신을 속이려한다고 생각합니다.

관련 문제