从silverlight应用程序修改数据库是个坏主意吗

本文关键字:silverlight 应用 程序修改 数据库 | 更新日期: 2024-09-25 03:46:16

我正在尝试使用silverlight创建一个简单的考勤系统。该应用程序将拍摄用户的照片并将其存储在服务器上。

我已经学会了如何激活网络摄像头并将图像转换为可写位图。然而,我还没有解决将用户id和当前日期从asp.net框架传递到silverlight应用程序,然后执行一组SQL查询将数据存储在SQL服务器中,并将网络摄像头图像保存在服务器上的问题。

然而,从性能和安全的角度来看,在silverlight中执行sql查询是个坏主意吗?

从silverlight应用程序修改数据库是个坏主意吗

是的,这是个非常糟糕的主意。

SilverLight正在浏览器内部执行。你不想向世界上的每一个浏览器打开你的数据库。

相反,请使用web服务。所有浏览器都会调用您的服务,而您的服务在服务器上运行,将访问数据库(在不同的服务器上运行)。

坏主意。浏览器中的Silverlight是客户端。我会编写一个像WCF这样的后端服务来处理这些问题。保持Silverlight清洁明亮。

我不同意另外两个回答,认为这是个坏主意。首先,Silverlight不一定在浏览器中运行(请参阅浏览器外模式),而且,这与它无关:

运行在企业内部网中的WPF浏览器应用程序访问该内部网中托管的sql server是完全合法的。

在该场景中使用Silverlight也没什么不同——内联网业务线应用程序是Silverlight最流行的用例,因此该场景绝非虚构。

然而,这极为困难,因为这种情况不受支持。理论上,Silverlight可以连接到本地sql server,但您必须重新实现sql server协议(如果它是开放的,我不知道),然后大概将实体框架之类的东西移植到Silverlight。

既然这太难了,你就不会这么做,也不会按照其他回答者的建议运行并访问一些网络服务。然后,您的应用程序至少有三层:Silverlight客户端、web服务和数据库。

这被称为三层体系结构,这是您通常使用Silverlight应用程序所做的。

我意识到这个答案有些多余,但我想让提问者放心,他的想法没有什么不好的,只是不会有成果。