2009-12-08 148 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

相關問題