2011-02-15 1 views
1

내 모든 데이터베이스 액세스를 처리하는 웹 응용 프로그램 내에 클래스가 있습니다. 현재 web.config에 저장된 데이터베이스 연결 문자열에 전달하는 클래스 속성이 있습니다. 이것이 최선의 방법인가요? 더 좋은 방법이 있습니까? 감사.웹 응용 프로그램의 클래스 객체에 연결 문자열을 전달하는 권장 방법은 무엇입니까

+0

.NET 응용 프로그램을 사용하고 있다고 가정 했으므로 질문에 다시 태그를 답니다. –

답변

1

appSettings 블록에 web.config 블록의 키를 추가 할 수 있습니다. 예를 들어 :

<appSettings> 
    <add key="connectionString" value="Data Source=xxx;ID=yyy;Initial Catalog=zzz; Password=ppp;"/> 
</appSettings> 

은 코드 내부에는 다음과 같이이 설정을 사용할 수 있습니다 : 당신이 하나 개의 솔루션에서 다른 모듈에서 연결 문자열에 액세스해야 할 때

using System.Configuration; 

..... 
..... 

private string connectionString = ConfigurationManager.AppSettings["connectionString"]; 

이 방법이 우수합니다.

+0

config의 connectionStrings 섹션을 사용하는 것이 더 자연스럽고 몇 가지 장점이 있습니다 (내 대답 참조) – PHeiberg

0

필자가 아는 한 (그리고 이미 보았 듯이) 이것은 연결 문자열을 유지 관리하는 데 가장 채택 된 방법입니다. 그래서 네, web.config 파일에 연결 문자열을 저장하는 것이 좋습니다라고 말하고 싶습니다.

1

연결 문자열이 필수 항목 인 경우 (아마도 데이터 액세스 클래스를 말하고 있기 때문에) 저는 개인적으로 클래스 생성자의 연결 문자열/연결 설정 개체를 전달하는 것을 선호합니다.

추상적 인 데이터 액세스 계층을 만드는 경우 ADO.NET provider model을 사용하여 연결 유형을 기반으로 올바른 유형의 ADO 개체를 만들 수 있도록 ConnectionStringSettings 개체를 전달하는 것이 좋습니다.

문자열 대신 설정 개체를 전달하면 종속성 삽입을 사용하는 경우에도 도움이됩니다. 이렇게하면 IoC 컨테이너에서 객체를 자동으로 확인할 수 있습니다.

관련 문제