2011-09-09 4 views
0

두 연결 문자열을 사용하는 vb.net 프로그램이있는 상황이 있습니다.VB.Net 외부 파일에서 2 연결 문자열 읽기

이 프로그램은 여러 도메인의 여러 웹 서버에서 사용되며 둘 중 하나의 차이점은 두 개의 연결 문자열뿐입니다.

내 실제 .vb 코드와 별도의 파일에서 이러한 연결 문자열을 읽는 가장 좋은 해결책은 무엇입니까?

이상적으로 .vb 및 연결 문자열 파일을 asp.net 웹 사이트의 수에 관계없이 자체 폴더에 놓고 다른 것을 업데이트 할 수 없도록하려는 경우 (예 : web.config 또는 기타 연결을 추가하는 경우)) 연결 문자열을 포함하는 외부 파일보다 XML로 충분하다고 가정합니다.

가능한 경우 코드 예제를 제공 할 수 있습니까?

답변

1

둘 다 동일한 web.config에 둘 것입니다. 그 (것)들에게 2 개의 다른 이름 및 의존하는 서버를주십시오. Request.ServerVariables ("SERVER_NAME") - 또는 - Request.ServerVariables ("LOCAL_ADDR") 예상되는 반환 값에 따라 webconfigurationmanager를 조정하여 두 개의 connectionStrings 속성 중 하나를 읽을 수 있습니다. 가장 좋은 방법은 기본 페이지에서 세션 변수를 설정하는 것입니다. 세션이 채워 졌는지 확인하여 응용 프로그램 전체에서 변수를 읽을 수 있습니다.

두 개의 다른 .config 파일을 사용하는 경우 현재 사용중인 서버에 따라 항상 사용하려는 전체 응용 프로그램을 코딩해야하는 문제가 발생합니다.
다른 web.config 파일 내에 web.config 파일을 포함하는 경우 동일한 web.config 파일에 동일한 두 개의 다른 connectionString을 추가하는 것과 같습니다.

1

내장 된 .config 지원을 사용하십시오.

app.config 파일을 프로젝트에 추가하는 경우 ConfigurationManager.ConnectionStrings 속성을 사용하여 액세스 할 수있는 connectionStrings 섹션을 추가 할 수 있습니다.

바퀴를 재발 명하지 마십시오.

+0

이러한 다른 파일 중 일부는 이미 app.config 파일을 가지고 있으므로 사이트를 삭제할 사이트를 수정하고 싶지 않습니다. 나 자신의 폴더 내에 별도의 .config 파일을 가질 수 있습니까? – TGuimond

+0

@TGuimond - 별도의 파일을 가질 수는 있지만 기존의 .config 파일은 변경하지 않고 응용 프로그램을 변경할 수 있습니다. 나는 이것이 설정 파일을 변경하는 것에 왜 저항하는지 알지 못한다. – Oded

+0

당신이 의미하는 바를 이해하지만 이러한 응용 프로그램에 직접적으로 액세스 할 수는 없으며 각기 다른 조직의 코드를 보내야하는 다른 사람입니다 이러한 조직은 모두 보안이 중요하며 외부 개발자를 허용하지 않습니다 웹 애플리케이션 내에서 무엇이든 편집 할 수 있습니다. 폴더를 지우고 .config 파일을 편집하도록 요청하는 것과는 반대로 응용 프로그램에서 삭제하도록하는 것이 훨씬 간단합니다. – TGuimond