문제

동일한 로컬 데이터베이스 MDF & LDF를 사용하기 위해 엔티티 프레임 워크 및 웹 서비스를 사용하는 웹 사이트 인이 경우 두 개의 별도 ASP.NET 사이트를 얻으려면 어떻게해야합니까?

나는 주위를 둘러 보았고 이런 종류의 로컬 DB를 사용자 인스턴스라고 생각합니다. 적어도 현재 사용하고있는 방식입니다. 아래 정보를 찾을 때까지 그것이 작동하는지 확실하지 않았습니다. MSDN 라이브러리 그리고 지금 나는 그것이 작동하는지 확실하지 않습니다.

사용자 인스턴스 시나리오에는 다음이 포함됩니다.

...

Windows 인증을 사용하여 전용 ASP.NET 호스팅. 단일 SQL Server Express 인스턴스는 인트라넷에서 호스팅 할 수 있습니다. 응용 프로그램은 가장가 아니라 ASPNET Windows 계정을 사용하여 연결됩니다. 모든 응용 프로그램이 동일한 사용자 인스턴스를 공유하고 더 이상 서로 격리되지 않은 타사 또는 공유 호스팅 시나리오에 사용자 인스턴스를 사용해서는 안됩니다.

추가 구성없이 바로 작동합니까? 모든 연속적인 응용 프로그램에 DB를 추가하려고 할 때 다른 것이 DB를 사용하는 경우 사용 오류가 발생하여 이런 식으로 할 수 없다고 믿게됩니다. 그러나 DB가 사용되는 것을 중지 한 다음 추가 한 다음 시작한 다음 시작하십시오. 보인다 잘 작동합니다. 이런 식으로 사용하여 부패하지 않거나 오류가 발생하지 않을 것이라는 안심이 있습니까?

바람직하게는 MDF & LDF는 웹 사이트의 APP_DATA 디렉토리 (| DatAdirectory |)에 저장됩니다. 내가 이런 식으로 그렇게한다면, 사이트의 하위 디렉토리에 넣지 않으면 서비스에 대한 상대 주소를 안정적으로 사용할 수 있다고 생각하지 않습니까?

편집하다: SQL Server Express를 사용하고 있습니다. 이것은 학교의 과제이므로 사용해야합니다. 사용자 인스턴스가없는 방법이 있다면 그것 없이는 시도 할 것입니다.

도움이 되었습니까?

해결책

당신은 사용할 수 없습니다 User Instance 이것을 위해. 이를 통해 한 번에 한 명의 클라이언트 만 데이터베이스에 연결할 수 있습니다. 두 응용 프로그램에서 동일한 자격 증명을 사용하면 설명하는 오류가 발생합니다. 두 응용 프로그램에서 다른 자격 증명을 사용하면 본질적으로 두 개의 개별 인스턴스 (원하는 것이 아님)를 얻습니다.

또한 사용자 인스턴스는 SQL Server Express에서만 지원됩니다. 생산 환경이 어떻게 보이는지 모르겠지만 SQL Server Express에서 실행되지 않습니까?

당신은 사용해야합니다 AttachDBFilename 로컬 데이터베이스를 가리킬 웹 애플리케이션의 연결 문자열에서 : AttachDBFilename=|DataDirectory|\MyDB.mdf.

귀하의 웹 서비스에서 귀하는 또한 사용합니다 AttachDBFilename 그러나 웹 서비스의 배포 위치에 따라 다릅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top