如何在WPF应用程序中集成和使用远程MySQL数据库

时间:2013-08-19 04:44:08

标签: c# mysql wpf networking

我目前正在尝试了解如何编写将MySQL用于数据库的个人项目以及用于本地客户端的WPF C#。基本上,它将是一个应用程序存储(几乎与谷歌游戏的风格相同),需要登录,然后选择要安装给用户的应用程序。令我困惑的是我要去的地方:

  • 允许在系统上安装该应用程序并启动,无需预先安装mysql。

  • 访问MySQL数据库本身。如果它是本地数据库那么相当容易,但是如何管理远程MySQL数据库呢?与此有关的另一个问题是,我是否必须在应用程序本身中对我的MySQL名称和密码进行硬编码?如果是这样,如果有人能够访问它,它不会在我的应用程序中创建安全漏洞吗? (这是你在php中所做的我相信,但问题是,php是服务器端,所以理论上用户永远无法在没有ftp访问的情况下获取php代码。因为我在本地运行我的应用程序,任何人都可以混淆代码并获取这些信息,不是吗?)

另外,有人可以指出一个好的MySQL数据库主机(免费或不免费)吗?也许我没有找到正确的东西,但我找不到任何提供“只”MySQL数据库的主机。

无论如何,有人可以就此事给我一些启示吗?

1 个答案:

答案 0 :(得分:1)

要实现您的目标,您应该考虑不同的架构:

  • MySQL数据库[服务器]
    该服务器为您提供数据等。

  • WebService(SOAP或REST)[服务器]
    这是访问MySQL数据库的唯一软件。理想情况下,这只能通过SSL(HTTPS)访问。

  • WPF客户端[客户端]
    客户端不直接与MySQL通信,只能通过WebService进行通信。

至于如何保护凭据,您有一些选择:

  • 询问用户输入密码然后传输到WebService ...

  • 每个用户使用一个“客户端证书”(这允许从服务器端撤销访问而不更改客户端)