WCF 및 System.configuration 네임 스페이스
-
04-07-2019 - |
문제
참조 된 .NET Framework 2.0 어셈블리가 IIS 호스팅 WCF 서비스에서 다음 코드 줄을 실행하려고 시도했을 때 오류를 받았습니다.
에러 메시지:
Exepath는 독립형 exe 내부에서 실행되지 않을 때 지정되어야합니다.
소스 코드:
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
누구 든지이 문제를 경험했으며 문제를 해결하는 방법을 알고 있습니까?
편집하다: 내 질문은 .NET 2.0 어셈블리와 거꾸로 호환되는 WCF 서비스에서 구성 파일 (App.Config 및 Web.Config)을 열는 가장 좋은 방법은 무엇입니까?
해결책 2
유의 한 답변에서 기존 코드를 제거하고 다음 구성 관리자 구현으로 대체하여 구성 문제를 해결할 수있었습니다.
string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");
ASP.NET 응용 프로그램, WinForms 응용 프로그램 및 WCF 서비스에 대해 작동하는 경우. 방금 3 년 전에 내 클래스 라이브러리의 초기 구현을 과도하게 공학했습니다 ....
다른 팁
참조 된 .NET 2.0 어셈블리는 공통 작업을 처리하기 위해 엔터프라이즈 라이브러리를 위해 개발 한 클래스 라이브러리의 일부입니다. ASP.NET 및 WinForm 응용 프로그램에서 사용되었습니다.
다음은 열 수있는 구성 파일 유형을 결정하는 데 사용한 소스 코드입니다.
//Open app.config or web.config file
if (HttpContext.Current != null)
this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
그것은 당신이 달성하려는 것에 달려 있습니다. ASP.NET에서는 일반적으로 이와 같은 내용에 ConfigurationManager를 사용하지 않고 대신 WebConfigurationManager를 사용하지 않습니다. 즉, 실제로는 OpenExeConfiguration이 허용하는 사용자/로밍/etc 작업이 웹 애플리케이션에서 의미가 없기 때문에 정확한 동등한 것은 없습니다.
무엇을 필요로합니까?