2009-12-08 149 views
1

我正在研究一个概念证明应用程序,其中包含一个WCF服务与控制台主机和客户端,都在单个USB设备上。在同一台设备上,我还会有连接到该服务的客户端应用程序。该服务使用实体框架连接到数据库,该数据库在此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数据库(如果它适合您的应用程序)。有时候我曾经参与过一个项目,在该项目中,Web应用程序作为桌面产品脱机。我们使用HSQLDB作为内存数据库,对我们来说它运行良好(数据库也很小)

+0

不,内存数据库不起作用。太多的表和需要共享的太多数据。此外,我需要一个解决方案,可以扩大使用完整的SQL Server数据库作为数据库替换。 (紧凑版最多支持3个用户,最多可支持2000个用户的完整SQL Server版本。) – 2009-12-08 17:53:09

相关问题