문제

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를 보유하고 있다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top