2016-08-16 6 views
2

"System.ServiceModel"클라이언트 구성, 즉 클래스 기반 (dll) 프로젝트의 app.config에 액세스 할 수있는 방법이 있습니까? 클래스 라이브러리에서 "System.ServiceModel"구성 섹션 그룹을 읽으려면 어떻게해야합니까?

+0

그것은 무엇 * 클래스 기반 프로젝트 * 수단 정말 분명하지 않다. 출력 유형이 "클래스 라이브러리"인 프로젝트, 즉 DLL입니까? – Filburt

+0

예. 그것의 dll을 읽을 필요가있다. –

+0

dll "consumer"가 asp.net 응용 프로그램/웹 사이트 인 경우 구성 부분을 web.config에 배치하기 만하면됩니다. – Filburt

답변

2

ConfigurationManager.GetSection(string) 당신이 실행중인 응용 프로그램의의 app.config 또는 Web.config의에서 섹션을 열 수 있습니다

. system.ServiceModel은 섹션이 아니며 섹션 그룹입니다. ConfigurationManager은 섹션 그룹을 얻는 방법을 제공하지 않습니다.

Configuration을 얻는 방법은 ConfigurationManager이 없지만 app.config와 web.config를 구별해야하기 때문에 약간 엉망입니다.

system.ServiceModel을 원하는 실제 구성 그룹으로 건너 뛰어도 ConfigurationManager을 사용할 수 있기 때문에 정말 쉽습니다. 예를 들어,

var section = ConfigurationManager.GetSection("system.serviceModel/client"); 

또는 당신은 그것을 강력하게 형식화 할 수 있습니다 :

var section = (ClientSection)ConfigurationManager.GetSection("system.serviceModel/client"); 

또는

var behaviorSection = 
    (BehaviorsSection)ConfigurationManager.GetSection("system.serviceModel/behaviors"); 
+0

config.app에 정의 된 WCF 클라이언트 구성을 사용하고 싶습니다. 사용자가 정의한 값/그룹을 읽거나 액세스하지 않도록합니다. –