WEB开发网
开发学院WEB开发ASP.NET SQL Server精简版支不支持ASP.NET? 阅读

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

 2006-11-30 17:18:16 来源:WEB开发网   
核心提示:在我写了《在SQL Server ExPRess版和Compact版之间做出选择》之后,园子里有些朋友问到SQL Server精简版(sqlce)支不支持asp.net?当时我也不确定,SQL Server精简版支不支持ASP.NET?,我自己测试过确实不行,但是觉得怪怪的,多大的鞋配多大的脚,大家还是不要在ASP.N

在我写了《在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)

Tags:SQL Server 精简

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接