架构问题 - 直接调用远程SQL Server还是通过服务调用?

Sco*_*ttG 0 sql-server wpf wcf web-services

在我的新WPF/silverlight应用程序中,最好是直接连接到我的远程SQL Server(我使用linq到sql),还是调用WCF服务并让服务连接到数据库更好?

SQL Server和Win2k8 Web服务器都是租用的,位于同一位置.如果创建WCF服务,我会在Web服务器上运行它并连接到隔壁的数据库.我不关心重用这项服务的能力,但我关心的是性能.最好是直接从我的客户端进行SQL调用,还是调用服务并让服务进行调用.

Jes*_*ess 6

主要是出于抽象和安全目的,如果此应用程序在客户端的计算机上运行(我必须假设它),您应该公开WCF服务.这样您就可以处理安全性,并且永远不会让客户端看到任何与连接到SQL服务器有关的事情.这样,如果SQL服务器上发生了某些变化,您也不必更新应用程序.

至于性能,我会说它会慢到一定程度,但它应该是非常不明显的,在几毫秒的时间内.


Jus*_*ner 5

如果您要使用Silverlight(并希望共享代码库),那么使用WCF服务访问数据会好得多.