2

내 ASP.NET 응용 프로그램에는 web.config 파일이 있습니다. web.config 파일에서 나는, 그러나 연결 문자열 ...ConfigurationManager ConnectionString은 어디에서 값을 가져 옵니까?

<connectionStrings> 
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

이 내가 ConfigurationManager.ConnectionStringsp["HRDb"]를 사용하여이 값을 검색 할 때, 나는 내 옛날 연결 문자열이 아닌 새로운 하나를 얻을.

ConfigurationManager 읽기 연결 문자열 값은 다른 곳 (web.config 제외)에서 무엇입니까?

저는 VS.NET (IIS에 배포되지 않음)에서 응용 프로그램을 실행 중입니다.

답변

3

무엇이 잘못되었는지 알아 냈습니다.

내 자신의 질문에 대답하려면 ... ConfigurationManager는 web.config에서만 읽습니다.

내 문제는 프로젝트가 Visual Studio Development 서버를 사용하는 대신 프로젝트를 실행할 때 IIS 웹 서버를 사용하도록 구성되었다는 것입니다. 그래서 저는 실제로 제 응용 프로그램의 구 버전을 실행하고있었습니다. 바보.

+0

나는 우리 모두가 비슷한 것을했을 것이라고 확신한다 : D 가장 좋은 수업은 가장 어렵고 모든 것을 배웠다. :) –

0

'오래된'값은 어디에 저장 되었습니까? 다른 설정 파일에 있습니까? 구성 관리자는 구성 파일에서 가져와야하지만 응용 프로그램에 대해 여러 개의 파일이있을 수 있습니다. 빌드 프로세스의 일부가 이전 파일에 복사 중입니까?

+0

이전 값은 web.config 파일에도 저장되었습니다. 아주 이상한. 빌드 이벤트가 없습니다. 나는 하나의 web.config 만 가지고 있으므로 모든 것을 쉽게 이해할 수 있습니다. ConfigurationManager가 web.config에서만 읽으면 내 측면의 버그 여야합니다. 나는 내가 무엇을 찾을 수 있는지 보게 될 것이다 ... – willem

1

현재의 폴더 위 또는 심지어 machine.config의 폴더에있는 "상위"web.config에 연결 문자열이 정의되어있을 가능성은 거의 없습니다. <add> 요소 앞에 <clear /> 요소를 추가하십시오.

0

나는 파일을 추가 할 때 Visual Studio에서 생성 된 잘못된 web.config를 갖고있는 해결책과 비슷한 문제가있었습니다.

관련 문제