[英]Is it a bad idea to modify a database from a silverlight application
我正在尝试使用silverlight创建一个简单的考勤系统。 该应用程序将为用户拍照,并将其存储在服务器上。
我想出了如何激活网络摄像头并将图像转换为可写位图的方法。 但是,我还没有解决将用户ID和当前日期从asp.net框架传递到silverlight应用程序,然后执行一组SQL查询以将数据存储在SQL Server中并将网络摄像头图像保存在服务器。
但是,从性能和安全性的角度来看,在silverlight中执行sql查询是否是个坏主意?
是的,这是一个非常糟糕的主意。
SilverLight正在浏览器内部执行。 您不想向世界上的每个浏览器打开数据库。
而是使用Web服务。 所有浏览器都调用您的服务,并且您在服务器上运行的服务将访问数据库(在其他服务器上运行)。
馊主意。 浏览器中的Silverlight是客户端。 我将编写像WCF这样的后端服务来处理这些问题。 保持Silverlight清洁明亮。
我不同意其他两个答案,因为这是一个坏主意。 首先,Silverlight不一定在浏览器中运行(请参阅浏览器外模式),然后,它实际上与浏览器无关:
对于在公司Intranet中运行的WPF浏览器应用程序访问该Intranet中托管的sql服务器,这将是完全合法的。
在该方案中使用Silverlight没什么不同-Intranet业务线应用程序是Silverlight最受欢迎的用例,因此该方案无非是人为的。
但是,由于不支持该方案,因此很难做到。 理论上,Silverlight可以连接到本地sql服务器,但是您必须重新实现sql服务器协议(如果我完全不知道那是完全开放的),然后大概将诸如实体框架之类的内容移植到Silverlight。
由于这非常困难,因此您不会这样做,而实际上会根据其他答案的建议运行并访问某些Web服务。 然后,您的应用程序至少具有三层:Silverlight客户端,Web服务和数据库。
这称为3层体系结构,这是您通常使用Silverlight应用程序所做的。
我意识到这个答案有些多余,但是我想向质询者保证,他的想法不一定没有什么坏处,除非它不会取得成果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.