2010-02-27 2 views
2

어셈블리 (.dll)가 web.config 파일을 찾을 수없는 경우 어떻게 장애 조치 논리를 적절하게 엔지니어링합니까?어셈블리, Web.config 및 App.Config - 장애 조치 논리 작성

배경 : 웹 사이트 코드를 두 개의 다른 .dll로 멋지게 모듈화했습니다. 단순화하기 위해,의 그들을 부르 자 :

  • website.dll
  • commonengine.dll 모든 데이터 층 물건에 대한 commonengine 라이브러리에 따라

웹 사이트 코드와 .ASPX /의 .ascx 파일을 호출합니다. 연결 문자열의 경우 commonengine은 app.config가 아니라 웹 사이트의 web.config 파일을 찾습니다 (내 자신의 환경 설정 - 생산 상수를 모두 한 곳에서 선호 함). 때로 웹 사이트 코드가 web.config 파일의 내용에 액세스해야하는 경우가 있습니다. 지금까지 좋은 모든 것 (완전히 순수하지는 않지만).

여기가 문제입니다. 나는 세 번째 모듈을 썼다. 그것은 Windows 서비스입니다 (특히 POP3 검사기/프로세서 - 사서함 요청을 처리하고 일부 데이터 항목에 commonengine.dll을 사용함).

문제는 Windows 서비스가 commonengine.dll을 호출하고 commonengine.dll이 Windows 서비스 (.exe)이고 웹 사이트 디렉토리에 있지 않기 때문에 어디에서나 web.config를 찾을 수 없다는 것입니다. .

web.config 파일을 찾을 수 없을 때 app.config를 사용하기에 적합한 테스트/로직은 무엇입니까? 모든 ASP.NET 구성 전문가가 여기에 몇 가지 지침을 줄 수 있습니까? 그렇다면 고마워.

답변

1

Web.config를 명시 적으로 읽지 않고 System.Configuration 클래스를 사용하여 읽습니다 (예 : System.Configuration.ConfigurationStrings [ "conn name"]). ASP.NET 응용 프로그램에서는 Web.config로, EXE에서는 app.config로 자동으로 이동합니다.

물론 구성 섹션이 누락 될 수 있다는 사실을 고려해야합니다.

관련 문제