C# 如何在WPF应用程序中集成和使用远程MySQL数据库
我目前正试图了解如何编写一个个人项目,该项目将使用MySQL作为数据库,使用WPF C作为本地客户端。基本上,它将是一个应用程序存储库(与GooglePlay风格几乎相同),需要登录,然后向用户提供安装应用程序的选择。让我困惑的是我将如何:C# 如何在WPF应用程序中集成和使用远程MySQL数据库,c#,mysql,wpf,networking,C#,Mysql,Wpf,Networking,我目前正试图了解如何编写一个个人项目,该项目将使用MySQL作为数据库,使用WPF C作为本地客户端。基本上,它将是一个应用程序存储库(与GooglePlay风格几乎相同),需要登录,然后向用户提供安装应用程序的选择。让我困惑的是我将如何: 允许在系统上安装应用程序并启动,而无需事先安装mysql 访问MySQL数据库本身。如果是一个本地数据库,这相当容易,但是如何管理一个远程MySQL数据库呢?与此相关的另一个问题是,我是否必须在应用程序本身中硬编码我的MySQL名称和密码?如果是这样,如果
- 允许在系统上安装应用程序并启动,而无需事先安装mysql
- 访问MySQL数据库本身。如果是一个本地数据库,这相当容易,但是如何管理一个远程MySQL数据库呢?与此相关的另一个问题是,我是否必须在应用程序本身中硬编码我的MySQL名称和密码?如果是这样,如果有人能够访问我的应用程序,它不会在我的应用程序中创建一个安全漏洞吗?(我相信这就是你在php中所做的,但问题是,php是服务器端的,因此理论上,用户在没有ftp访问的情况下永远无法获取php代码。因为我在本地运行我的应用程序,任何人都可以混淆代码并获取这些信息,不是吗?)
在任何情况下,有人能告诉我一些关于这件事的信息吗?要实现您想要的,您应该考虑一种不同的架构:
- MySQL数据库[服务器]
此服务器保存您的数据等 - Web服务(SOAP或REST)[服务器]
这是访问MySQL数据库的唯一软件。理想情况下,这只能通过SSL(HTTPS)访问 - WPF客户端[客户端]
客户端不直接与MySQL通信,只通过WebService进行通信
- 请用户输入密码,然后将其传输到WebService
- 每个用户使用一个“客户端证书”(这允许在不更改客户端的情况下撤销服务器端的访问)