2011-03-02 2 views
1

내 프로젝트에 web.config 파일과 외부 appSettings 파일이 있습니다. WebSet에서 AppSettings 키를 읽는 옵션과 WebPage에서 appSettings 키를 외부 appSetting 파일로 읽는 옵션이있는 WebConfig 편집기를 만들고 있습니다. 또한 제거 버튼을 클릭하여 키를 삭제할 수 있도록 허용하고 있습니다. 또한 사용자는 업데이트 버튼을 클릭하여 키 값을 업데이트 할 수 있습니다. 또는 새 키 추가 버튼을 클릭하여 새 키를 삽입 할 수도 있습니다.WebConfigEditor에서 appsettings에 키 읽기 및 쓰기

내가 직면 한 핵심 문제는 새 키를 추가하려고 할 때 예상대로 web.config 파일에 삽입되지만 동시에 외부 appSettings 파일에있는 모든 키를 웹에 추가한다는 것입니다. .config (이것은 갑작스런 행동입니다).

키의 업데이트/삭제/추가 기능에서 외부 appSettings 파일에서 web.config로 키를 마이그레이션하는 것을 중지하는 방법은 무엇입니까?

답변

0

키를 읽는 동안 web.config 파일 및 외부 앱 설정 파일의 키를 사용하여 고유 한 서명을 추가하십시오. 웹상의 은 서명이 아닌 키만 보여줍니다. 키를 추가하면 동일한 서명 (web.config에 web.config의 서명을 추가하면)을 추가하고 web.config에 쓸 때 키가 외부 앱 설정 파일의 경우 키를 무시한 다음 키를 쓰십시오.

그것의 단순 솔루션 u는 독서를 들어

+0

실제로 키를 사용하여 appSettings 파일이 사용 중이고 이름을 바꿀 수 없습니다. – Basmah

+0

webSetup에서만 읽을 수있는 코드와 AppSettings 키 및 외부에서만 읽을 수있는 코드를 알려주십시오. appSettings.config 파일 – Basmah

1

을 물어 않는 질문이있는 경우, 음, 루트에서 구성 폴더에 외부 파일을 넣고 다음은 웹에서 읽을 키 이름에 따라 키/값을 읽기 위해이 코드를 사용 .config 또는 외부 파일. 키 1도
을 찾을 수

외부 설정 파일의 web.config와 키 2에

// get from web.config                    
String myKey = ConfigurationManager.AppSettings.Get("Key1"); 
String str += "AppSetting value from web.config:" + myKey; 
// get from external AppSetting file 
myKey = ConfigurationManager.AppSettings.Get("Key2"); 
String str2 += "AppSetting value from external AppSetting file:" + myKey;                

알 키 값은 Web.config의 외부에 foreach 루프

foreach (string key in ConfigurationManager.AppSettings) 
{ 
    string value = ConfigurationManager.AppSettings[key]; 
    Console.WriteLine("Key: {0}, Value: {1}", key, value); 
} 
+0

또한 sqlQueries.config에있는 3 개의 키를 별도로 읽고 추가, 업데이트 또는 삭제 옵션에 대한 다른 별도의 컨트롤에 표시하려고합니다. ConfigurationManager.AppSettings.AllKeys 또는 ConfigurationManager.AppSettings.Keys 코드를 사용할 때 sqlQueries.config와 함께 web.config에있는 모든 키를 반환합니다. 나는 그렇게 원하지 않는다. 나는 그것들을 개별적으로 읽고 싶다. 거기에 읽기, 쓰기 또는 System.configuration API를 사용하여 프로그래밍 방식으로 별도로 그들을 삭제하는 방법이 있나요 아니면 xml을 사용해야합니까? – Basmah