2009-12-08 6 views
1

단일 호스트 장치와 클라이언트 모두에서 콘솔 호스트와 클라이언트가있는 WCF 서비스가 포함 된 개념 증명 응용 프로그램을 작성하고 있습니다. 동일한 장치에서이 서비스에 연결할 클라이언트 응용 프로그램도 갖게됩니다. 이 서비스는 엔티티 프레임 워크를 사용하여 데이터베이스에 연결합니다.이 POC에서는 이름 목록 만 반환합니다. 작동하면 더 큰 프로젝트에 사용됩니다.USB 장치에서 응용 프로그램 실행

클라이언트와 서비스를 만드는 것이 쉽고 USB에서 잘 작동합니다. 그러나 서비스를 데이터베이스에 연결하는 것은 아닙니다. this site을 발견했습니다. machine.config를 수정해야한다고 제안했으나 XCopy 배포가 중지됩니다. 이 프로젝트는 PC의 설정을 변경할 수 없으므로이 제안은 좋지 않습니다. 배포 설치를 만들 수 없습니다. 모든 것은 USB 디스크에서 실행해야합니다.

그럼 어떻게 실행하나요?

는 (이 서비스는 그냥 클라이언트로 반환하는 데이터베이스에서 이름 목록을 선택합니다.이 POC가 작동하는 경우, 그것은 훨씬 더 복잡한 일을 할 것입니다!)

답변

3

오 ~합니다. 그것을 해결했습니다. 이 파일을 .config 파일에 추가하기 만하면됩니다.

<system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SqlServerCe.3.5"></remove> 
     <add name="Microsoft SQL Server Compact Data Provider" 
      invariant="System.Data.SqlServerCe.3.5" 
      description=".NET Framework Data Provider for Microsoft SQL Server Compact" 
      type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> 
    </DbProviderFactories> 
    </system.data> 

로컬 구성 파일에 추가하는 것도 좋습니다. :-)

0

In Memory 데이터베이스 사용을 고려해 보셨습니까 (귀하의 응용 프로그램에 적합한 경우). 웹 응용 프로그램이 데스크톱 제품으로 오프라인으로 제공되는 프로젝트에서 일한 적이 있습니다. 우리는 HSQLDB를 메모리 데이터베이스, 우리를 위해 잘 작동했습니다 (데이터베이스도 작음)

+0

아니요, 메모리 내 데이터베이스가 작동하지 않습니다. 너무 많은 테이블과 너무 많은 데이터를 공유해야합니다. 또한 데이터베이스 교체로 전체 SQL Server 데이터베이스를 사용하도록 확대 할 수있는 솔루션이 필요합니다. (소형 버전은 최대 3 명의 사용자를 지원하며 전체 SQL Server 버전은 최대 2000 명의 사용자를 지원합니다.) –

관련 문제