在Windows Forms应用程序中使用Azure数据库的最佳方法

时间:2014-05-20 14:30:35

标签: c# azure

我希望我们的Windows窗体应用程序在Azure数据库中注册客户的详细信息(在他们购买应用程序之后)。我可以在Azure上创建一个表但是如何将数据放入表中?我不认为直接与数据库交谈是正确的方法。此外,我需要确保只有我们的应用程序可以访问数据库,并且信息从应用程序加密到数据库。任何帮助都会以正确的方式受到欢迎。我正在使用.NET 4.0和Visual Studios 2013。

我是否需要在服务器上运行的东西,我们的应用程序可以调用它然后添加/编辑数据库?什么是最好的解决方案?

2 个答案:

答案 0 :(得分:2)

直接与数据库对话的问题是,您最终会将连接字符串与应用程序一起分发到数据库。当然,它可以加密,但在代码中的某处,您必须在连接到数据库之前解密它。充其量,这是一个麻烦(例如,当从DEV更改数据库到PROD时)。最糟糕的是,它增加了攻击的表面积。

这是符合您大部分要求的标准解决方案:

  • 使用您需要的表和列设置Windows Azure数据库。
  • 使用适当的安全性(SSL或使用WCF进行某种形式的邮件加密)设置Web服务(azure托管或其他位置)。
  • 让客户端应用程序使用注册信息调用Web服务。

在这种情况下,您仍然打开一个未经过身份验证的Web请求,以便能够对数据库执行写入操作,但是您限制了可以执行这些操作的通道。您可以通过向请求添加一个聪明的代理字符串或通过向消息添加某种形式的聪明的秘密/加密/校验和来强化实现。此外,根据您的注册和激活方式,Web服务可以根据以前注册的评估下载来验证传入的信息。

希望这有点帮助。

答案 1 :(得分:-1)

即使对于Azure数据库,您也会有连接字符串。因此,连接和读取/ udpate数据没有问题。当然,您可以通过SQL Server管理工作室管理数据库对象。 关于直接谈话,取决于你的目标/应用架构。 拥有Azure数据库的目的是什么?