c# - 从网络服务器使用 MySQL 的 Windows 应用程序

标签 c# .net mysql web-hosting

我的老板希望我创建一个带有可通过 Internet 访问的数据库的桌面应用程序。该数据库用于存储从 TCP 服务器获取的信息,但这不是我的问题。

到目前为止,根据我的研究,我发现共享网络托管、VPS、专用托管和 Amazon RDS 都是可能的选择。我唯一感兴趣的是给定包中包含的 MySQL 服务器。

我认为对于一个简单的应用程序来说,常规的共享网络托管就足够了,仅仅因为数据库由 10 个表组成,并且记录不可能超过一千条记录。

但我的问题是,是否可以将 C# 应用程序从 Web 服务器直接连接到 MySQL 实例?如果确实如此,它安全吗?它将存储信用卡号码和成员(member)信息等重要信息,并且需要始终保持运行状态。

最佳答案

只要您的防火墙不阻止数据库服务器上的端口 3306,您就可以轻松地从任何计算机连接到 MySQL 数据库。但是,我强烈建议您不要这样做,因为您会失去对客户的控制。

  • 每个客户端都需要将数据库连接存储在某处(或从某种服务器获取)
  • 您需要能够更新所有客户端上的 MySql 连接器
  • 您对数据访问的控制很少。

相反,我会介绍客户端将使用的某种数据访问层。例如,您可以使用 WCF Data Services或者使用 WCF 构建您自己的非常简单的数据层(让客户端发送 SQL 查询并返回正确的结果) .

这两个选项都允许您使用背后的任何技术(您甚至可以在客户端不注意的情况下切换数据库服务器)。

关于c# - 从网络服务器使用 MySQL 的 Windows 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8788094/

相关文章:

c# - 如何在 win 表单项目中创建用户控件的 dll?

c# - 使用反射设置嵌套属性值

c# - 分组扩展方法

mysql - 在 VB.net 中读取和解析大型分隔文本文件

PHP:如何将数组值插入到mysql语句中

c# - IoC、工厂和构造函数参数

c# - 使用 ReSharper 将 Foo 和 Foo<T> 移动到匹配的文件

c# - 如何在 SmartThreadPool 中创建 STA 线程

c# - 来自外部 DLL 的未处理的 DivideByZero 异常 - C#

mysql - 获取按时间间隔按月分组的累计和