为什么Microsoft不在Silverlight中包含SQL Server支持?

时间:2011-02-03 11:05:16

标签: sql-server silverlight

依靠WCF为Silverlight提供数据库支持真的让我感到困扰。

我的猜测是Silverlight最终是客户端的,微软希望为数据提供某种主要的访问/入口点,即服务器端代码。

4 个答案:

答案 0 :(得分:6)

这将是一个很大的安全问题。想象一下从javascript调用你的数据库。即使没有这个,你需要小心XSS。

另一个原因是他们只是强迫你将你的BLL分开,这样你的应用就会消除常见的模式。

答案 1 :(得分:4)

Silverlight遵循网络范例,似乎试图弥合ASP.NET与传统桌面技术之间的差距。

  • 它有点跨平台(Windows(移动),Mac)
  • 运行时是.NET堆栈的一个子集,所以它要小得多
  • 较小的部署包
  • 使部署变得更容易
  • 它提供丰富的UI功能
  • 但作为一种网络技术,安全性是一个问题:你仍然是沙箱,只能对主机进行有限的控制

最近,微软已经大踏步地为浏览器耗尽的Silverlight应用程序提供更多控制(PInvoke支持非托管代码,Office集成,访问COM,支持外围设备......)。有了这一切,似乎几乎没有阻止他们包括数据库支持。它可能在浏览器外的情况下有意义,并且不会像运行您刚刚下载的任何其他应用程序那样带来安全风险。

然而,建立在网络范例之上,您的数据通常来自网络。所以这可能是他们不愿意加入它的原因......

我想,最后,这是值得商榷的。

答案 2 :(得分:1)

Silverlight可以使用剥离版本的.NET Framework,它仅限于核心类库 - 有限制 - ,多媒体管理和WCF /网络客户端库,而不是更多。

那是因为Silverlight是一个浏览器插件,它的运行时必须尽可能小,因为网络受众不想下载30MB插件才能查看网页 - 毕竟,这个会违背网络范式 - 。

答案 3 :(得分:0)

如果你想使用带有silverlight的数据库,那么请查看Jeffrey Richters Sterling DB的silverlight和WP7: http://wintellect.com/powerthreading.aspx

如果您正在谈论Sql Server,那么他们确实制作了支持它的Silverlight版本。它叫做WPF:)