1

아무도 프로그래밍 방식으로 디버그 및 라이브 연결 문자열을 전환 할 수있는 방법을 제안 할 수 있습니까?연결 문자열 - MVC 엔터티 프레임 워크 - 데이터베이스 우선

내가 본 다른 사람이 같은 컨트롤러에서 생성자에 EntityConnection을 통과 :

private XYZDatabase db = new XYZDatabase(ConfigurationManager. 
ConnectionStrings["XYZDatabase-TEST"].ConnectionString); 

하지만 여전히 수동으로 변경 필요?

System.Net.Dns.GetHostName() 또는 이와 유사한 을 사용하면 자동으로 전환 할 수 있습니까?

덕분에 내 소프트웨어에서

답변

0

난 그냥 구성 사이를 전환 할 주석 제의 app.config과 의견에 같은 이름의 2 연결 문자열을 /이있다.

또 다른 방법은 솔루션 (.asax 파일?)에 정적 속성을 만들고 ConnectionString을 가져올 때 XYZDatabase-TEST와 XYZDatabase 사이를 스왑하는 것입니다.

0

같이 당신의 Web.config에 연결 문자열을 추가

<connectionStrings> 
    <add name="XYZDatabase-TEST" connectionString="Server=.\SQLEXPRESS;Database=XYZDatabase-TEST";integrated security=SSPI;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

것은 그런 당신에게 Web.Release.config을 열고

이제
<connectionStrings> 
    <add name="XYZDatabase-TEST" 
     connectionString="Data Source=OTHERSERVER;Initial Catalog=XYZDatabase-TEST;Persist Security Info=True;User ID=sa;Password=password" providerName="System.Data.SqlClient" 
     xdt:Transform="SetAttributes" 
     xdt:Locator="Match(name)"/> 
</connectionStrings> 

, 매번 당신이 당신을 게시합니다 추가 응용 프로그램을 배포 서버에 릴리스 구성을 사용하여 web.rel에서 연결 문자열을 사용합니다 ease.config

디버깅 할 때이 변환은 로컬에서 작동하지 않습니다. web.config 변환을 실행하려면 게시해야합니다.

관련 문제