2013-08-19 118 views
0

我目前正在尝试了解如何编写一个个人项目,该个人项目将为数据库和WPF C#使用MySQL作为本地客户端。基本上,它将是一个应用程序商店(几乎与谷歌播放相同的风格),这将需要登录,然后给应用程序的选择安装给用户。让我困惑的是位如何我要去:如何在WPF应用程序中集成和使用远程MySQL数据库

  • 允许安装在系统上的应用程序,并启动需要事先安装mysql。

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

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

在任何情况下,有人可以告诉我一些事情吗?

回答

1

达到你想要你应该考虑不同的架构是什么:

  • MySQL数据库[服务器]
    此服务器保存你的数据等

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

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

至于如何安全证书你有一些选择:

  • 询问密码,你再传输到WebService的用户...

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

+0

我明白什么是sh应该是WebService,但我不知道如何实现它。通过在网上搜索,似乎它是另一个运行和与本地应用程序交换信息的应用程序(就像你说的)。这是否意味着我实际上需要一个VPS或专用服务器才能运行WebService 24/24?如果听起来微不足道,我很抱歉。 – zaedas99

+0

@ zaedas99是的,它是一个“应用程序”(例如ASP.NET WebAPI),它需要一些WebServer(如VPS或专用服务器)来运行...最好的情况是你在同一台机器上同时运行(MySQL和WebService)并配置MySQL只接受“本地连接”。 – Yahia

+0

好吧,那就是我的想法。非常感谢您的帮助和澄清。 – zaedas99

相关问题