2012-06-08 8 views
1

간단한 코드로이 코드의 기능을 이해할 수 있습니까? 이것은 초보자입니다. 미리 감사드립니다.연결 문자열

<connectionStrings> 
<add name="BalloonShopConnection" connectionString="Server=(local)\Sql➥ 
Express; Database=BalloonShop; User=balloonshop; Password=ecommerce" ➥ 
providerName="System.Data.SqlClient" /> 
<remove name="LocalSqlServer"/> 
<add name="LocalSqlServer" connectionString="Server=(local)\SqlExpress;➥ 
Database=BalloonShop; User=balloonshop; Password=ecommerce" providerName=➥ 
"System.Data.SqlClient" /> 
</connectionStrings> 

이것은 자습서에서 가져온 것입니다. 나는이 책의 전반부까지 모든 것을 다루었지만 이상하게 보인다.

+1

어떤 부분은 당신이 이상한 것 같다? –

+1

약간의 연구가 필요합니다. 여기에 시작할 수있는 좋은 장소가 있습니다 : [ConnectionSTringsSettings Class] (http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringsettings) – Jeremy

답변

2

귀하의 응용 프로그램에 대한 web.config는 응용 프로그램이 가져 오는 구성 설정의 일부일뿐입니다. 총 구성은 web.config는 물론 machine.config 파일과 IIS에 정의 된 설정을 조합 한 것입니다. 이 라인 :

<remove name="LocalSqlServer"/> 

이 (가)라는 이름의 연결 문자열을 LocalSqlServer 당신이 당신의 Web.config가 아닌 다른 곳에서 받고있을 수 있다는 것을 다른 곳에서 정의가 있다는 것을 의미한다. 따라서 web.config에서 명시 적으로 얻을 수있는 다른 LocalSqlServer 연결 문자열을 제거하고 해당 줄 아래에 정의 된 연결 문자열로 대체합니다. 변경 사항은 응용 프로그램에만 영향을 미칩니다. 여기에 설명되어 있습니다 : http://weblogs.asp.net/jgalloway/archive/2012/01/17/10-things-asp-net-developers-should-know-about-web-config-inheritance-and-overrides.aspx

제거 태그가없고 해당 연결 문자열이 체인보다 높게 정의 된 경우 앱은 위에 정의 된 태그를 사용하고 웹에 정의 된 태그는 무시합니다. config (꽤 혼란 스러울 수 있습니다!). 그래서 제거 태그가 필요합니다.

은 참조 : Avoid web.config inheritance in child web application using inheritInChildApplications

+0

hatchet : 사실, 특히 "제거"부분을 이해하지 못했습니다. . 귀하의 설명은 평이한 영어로되어 있으며 매우 유용하며 지정된 사용자 수준을 대상으로합니다. 고마워요! –

1

BalloonShopConnection이라는 이름의 연결 문자열을 추가합니다. 귀하의 SQL 서버 이름 (로컬) \ SqlExpress; 귀하의 databese BalloonShop 사용자는 balloonshop이므로 매우 비슷한 두 번째를 추가하십시오 :)