关门了 。这个问题是基于观点的。它当前不接受答案。
想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。
1年前关闭。
改善这个问题
对于同时具有Web和桌面客户端版本的应用程序:
需要访问SQL Server的桌面客户端的最佳实践是什么?
如果您使用的是本地SQL Server,则直接访问数据库。如果客户端必须在另一个系统上使用SQL数据库,则首选使用Web服务来提供额外的保护,并具有使业务层能够处理多个用户的附加优点。
从应用程序连接到数据库与使用Web服务相比有什么好处?
通过Web服务进行连接总是会比较慢,而对数据库的修改将很难添加到整个系统中。(基本上,这意味着您需要创建新版本的Web服务,同时维护旧的Web服务以实现向后兼容性。)
哪一个提供更好的安全性?
Web服务的使用趋向于更安全,尽管安全性通常是 人为 问题而不是软件问题。但是,使用用户和数据库之间的Web服务,由于用户无法直接访问数据库,因此与数据库的连接更加安全。(除了您通过Web服务提供的功能。)当客户端和数据库位于同一系统上时,这一点很重要,因为这样用户可以获得完全访问权限。
什么类型的示波器将需要一个与另一个(企业Intranet与Web应用程序等)
Web服务更适合于客户端- 服务器应用程序,在这些应用程序中用户不应直接访问数据库。否则,直接数据库连接只会提高性能。创建Web服务时,首先要编写一个通用(类)库,该库将提供Web服务的功能。围绕这个(业务)库创建一个Web服务,将重要的方法公开给外界。任何网站都可以不使用Web服务而直接调用该库,尽管您始终可以选择让网站代码通过Web服务访问数据。即使仅使用本地数据库创建桌面应用程序,编写具有逻辑来访问数据库的业务库也是一件很好的事情。您的客户可以直接或通过网络服务调用此业务库,
在平台上进行选择时,还有其他必要的注意事项吗?
通常,只有您愿意用来进行设置的硬件数量。如果您有能力设置数据库服务器,为该服务提供单独的Web服务以及为您的网站提供第三个Web服务(具有大约十二个客户端系统),则可以选择最分层的版本,即客户端和网站调用Web服务,后者调用数据库。但是,如果一切都需要在单个系统上运行,则只需坚持使用应用程序和业务层/库即可。
但是,从单个用户的角度来看,添加层会降低性能。但是,使用多层可以提高整体性能,因为可以在多个用户之间更好地分配资源。