2009-04-17 113 views
3

我目前正在开发一个WPF客户端应用程序,该类型的表对象使用Linq-to-SQL,并在外部服务器上的MS SQL数据库中包含丰富的CRUD存储过程。我不预期直接通过上下文来操作数据,只有存储过程。WPF数据访问层体系结构

我的两个最大的问题是: 1)数据库安全 2)灵活的架构

据我所知道的,因为应用程序将随时通过互联网下载,存储在数据库连接信息应用程序本身不是一个选项(出于安全原因)。我觉得我唯一的选择是把我的DAL放入网络服务中。

用户凭证可以按操作传递,数据库连接信息将安全地存储在安全的Web服务器上。

我很好奇这是否是方法是有效的,如果是的话,它是最佳?我可以轻松地序列化Linq-to-SQL对象(表和存储过程结果)以在客户端和Web服务之间来回发送吗?

预先感谢您。

回答

3

你说得对,如果你的应用程序是通过互联网使用的,你几乎必须在其中放置一个中间层。

如果您所做的主要是CRUD,我认为一个好主意应该是看看ADO .Net Data Services。这是一种通过REST接口公开数据的有效方法,并且您可以获得客户端库以在客户端以类型化方式访问数据。

它支持通常的ASP.Net安全机制(例如表单身份验证,成员资格提供程序等),以便您可以根据用户的凭据保护您的访问点(并且您可以使用可以使用的Client Services在您的应用程序和您的服务器之间进行身份验证)。

希望这些指针有所帮助。