设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

SQL Server精简版支不支持ASP.NET?

作者:佚名 出处:网络转载 时间:12-04 点击:

内容载入中...
     在我写了《在SQL Server Express版和Compact版之间做出选择》之后,园子里有些朋友问到SQL Server精简版(sqlce)支不支持ASP.NET?当时我也不确定,我自己测试过确实不行,但是觉得怪怪的,没有道理不支持啊!
  
  今天看了Steve Lasker的blog,终于搞清楚了!
  
  由于sqlce默认不支持ASP.NET,很多用户因此对MS提出请求,不断抱怨,甚至恐吓(如果你不让它支持,我就使用XX产品)。Steve Lasker终于坐不住,出来澄清这一切
  
  其实sqlce的市场定位非常明确,主要是为了解决智能客户端的离线数据存储和同步问题。这个在《在SQL Server Express版和Compact版之间做出选择》也有阐明了。因此,微软并没有针对sqlce作为Web站点数据库的使用场景进行优化。在Web站点多用户访问和数据并发的环境下,sqlce的性能不理想,跟SQL Server Express不能比。所以建议Web站点还是采用SQL Server Express或SQL Server数据库。要知道sqlce是内嵌数据库引擎,而SQL Server Express是数据库服务。现在SQL Server开发团队最近发布的Hosting Toolkit SQL Server可以协助你在Web服务器上部署SQL Server Express。
  
  那么,ASP.NET到底能不能使用sqlce作为数据存储呢?可以!
  
  默认情况下,在ASP.NET的工作进程中打开sqlce的数据库连接时,sqlce将被封锁。你可以通过下面的代码解除这个限制,这行代码在RTM版中会有所变,因为sqlce已经改名了,不再叫SQL Server Everywhere:
  AppDomain.CurrentDomain.SetData("SQLServerEverywhereUnderWebHosting", true)
  
  要注意的是,在ASP.NET中不能使用sqlce的数据同步功能。
  
  总之,多大的鞋配多大的脚,大家还是不要在ASP.NET中使用sqlce,如果偏要用,那请注意后果了!
  
  参考:
  
  SQL Server Compact Edition under ASP.net and IIS
  SqlCeConnection Class (System.Data.SqlServerCe)
  
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息