Windows 8和MySQL?我有什么选择?

Rob*_*zik 0 .net mysql microsoft-metro windows-8

我目前正在编写Metro应用程序,我希望通过将其连接到我的Web SQL DB来集成托管SQL处理.

我有什么选择.NET 4.5?

另外,如果你downvote,请解释原因,我知道.NET 4有一些MySQL连接器,但它显然与4.5不兼容

Dai*_*Dai 5

我强烈建议不要通过Internet直接连接到数据库服务器的客户端程序,原因如下:

  • 客户端库的设计和构建基于数据库距离几毫秒的假设,尤其是非常繁琐的协议(MSSQL就是其中之一).因此,短期操作可能需要相当长的时间.
  • 这是一种安全责任,您不仅要将数据库服务器暴露给Internet,还要在应用程序中嵌入连接详细信息(例如密码).
  • 它不适合可扩展性.如果引入多个负载平衡或故障转移数据库服务器,则必须重写客户端.
  • 它还假设不存在任何连接问题.许多网络(尤其是移动网络)限制端口80/443之外的活动,以防止滥用其网络(例如僵尸用户发起攻击).

在这些情况下,理想的解决方案是为您的数据库开发Web服务前端; 然后,您的应用程序将与Web服务而不是您的数据库进行交互.这具有其他优点.

当然,客户端(尤其是移动客户端)应该使用数据缓存,以便应用程序在脱机时继续工作.

回到主题:假设您仍然希望使用直接连接,那么我不明白为什么MySQL客户端库将无法在4.5上运行.您可以修改程序集的清单/配置,以便它可以在.NET CLR的未来版本上运行(如果所述库使用自已删除的类型和成员或依赖于已更改的行为,则只会遇到问题..NET框架具有在向后兼容方面享有良好声誉).