ConfigurationManager ConnectionStrings는 어디에서 값을 얻습니까?
-
04-07-2019 - |
문제
ASP.NET 응용 프로그램에는 web.config 파일이 있습니다. web.config 파일에는 연결 문자열이 있습니다 ...
<connectionStrings>
<add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>
그러나이 값을 사용하여 검색 할 때 ConfigurationManager.ConnectionStringsp["HRDb"]
, 나는 새로운 연결 문자열이 아니라 내 오래된 연결 문자열을 얻습니다.
다른 곳 (web.config를 제외하고) ConfigurationManager
연결 문자열 값을 읽으시겠습니까?
vs.net (IIS에 배포되지 않음)에서 응용 프로그램을 실행하고 있습니다.
해결책
나는 무엇이 잘못되고 있는지 알아 냈습니다.
내 자신의 질문에 답하기 위해 ... ConfigurationManager는 web.config에서만 읽습니다.
내 문제는 프로젝트가 Visual Studio Development Server를 사용하는 대신 프로젝트를 실행할 때 IIS 웹 서버를 사용하도록 구성되었다는 것입니다. 그래서 나는 실제로 내 응용 프로그램의 이전 버전을 실행하고있었습니다. 바보 같은.
다른 팁
아마도 현재 폴더 위의 폴더 또는 machine.config에 "parent"web.config에 정의 된 연결 문자열이있을 수도 있습니다. 추가 해보십시오 <clear />
이전의 요소 <add>
요소.
'오래된'값은 어디에 저장 되었습니까? 다른 구성 파일에 있습니까? Config Manager는 구성 파일에서만 가져와야하지만 응용 프로그램에는 여러 파일이있을 수 있습니다. 빌드 프로세스의 일부가 이전 파일로 복사됩니까?
솔루션이 비슷한 문제를 겪었습니다. 솔루션은 파일을 추가 할 때 Visual Studio에서 생성 한 잘못된 Web.config를 보유하고 있다는 것입니다.