使用SQL Server CE 4.0的Asp.Net应用程序导致与多个客户端共享异常

时间:2012-01-26 01:24:26

标签: asp.net sql-server-ce sql-server-ce-4

我有一个ASP.Net 4.0网站,它使用SQL Server CE和EF代码优先于其数据存储。当网站上有2个或更多用户时,我会每隔5或6次间歇性地获得以下异常。

  

存在文件共享违规。可能正在使用其他流程   文件。 [d:\目录... \ file.sdf]

在整个代码中,我每次需要时都会创建,使用并及时处理DbContext。即使它是默认值,我也已将File Mode = Read Write添加到连接字符串。

任何想法我可能做错了。

1 个答案:

答案 0 :(得分:1)

我想我弄清楚发生了什么。我发现一个链接(遗憾的是我不记得在哪里),提到Go Daddy共享主机使用负载均衡器和多个服务器来为该站点提供服务。即使数据库文件显示在装有驱动器号的驱动器上,显然它必须位于所有Web服务器共享的文件服务器上。

通过网络由多个客户端使用SQL CE是不受支持的配置。当我从SQL Compact升级到Go Daddy提供的SQL Server实例时,问题(以及我上面没有提到的另一个数据一致性问题)消失了。

当我用谷歌搜索它时,我没有发现这个问题,我有点惊讶。微软正在将SQL Compact作为小型网站的良好后端。如果我是对的,这似乎是这方面的重大责任。