使用C#GUI应用程序向在线提供商查询MySQL数据库

使用C#GUI应用程序向在线提供商查询MySQL数据库,c#,mysql,winforms,wcf,C#,Mysql,Winforms,Wcf,托管服务通常支持webapps(比如ASP.net、Rails或Django)和一些数据库(比如SQLServer、MySQL)。 对于我自己的大多数应用程序,我更喜欢C#WinForms(例如图形更新的速度),但我希望它后面有一个基于网络的DB,这样我就可以从多个位置访问它 是否有理由我不能仅为我的数据库使用这样的web提供商,即不提供动态网页,而只回答我的sql查询 现有的帖子似乎回答了类似的问题,但我想获得更多的澄清。 例如,Web服务器是否提供了其他方面难以获得的额外安全性 “正确”答案

托管服务通常支持webapps(比如ASP.net、Rails或Django)和一些数据库(比如SQLServer、MySQL)。 对于我自己的大多数应用程序,我更喜欢C#WinForms(例如图形更新的速度),但我希望它后面有一个基于网络的DB,这样我就可以从多个位置访问它

是否有理由我不能仅为我的数据库使用这样的web提供商,即不提供动态网页,而只回答我的sql查询

现有的帖子似乎回答了类似的问题,但我想获得更多的澄清。 例如,Web服务器是否提供了其他方面难以获得的额外安全性


“正确”答案是否包含关键字WCF?我是否需要托管服务来明确支持WCF?

实现您的要求没有技术限制,但大多数托管提供商(主要是共享托管)将对其数据库的访问限制在其内部网络内。如果你能找到一个主机提供商,他为你提供从外部网络连接的选项,你就可以去了

在分发
winforms
客户端时,需要记住的一件事是,如果最终用户足够聪明,则可以提取连接字符串。谨慎的做法是加密配置文件中的连接字符串,并对其与数据库的连接使用加密(连接字符串中的
SslMode=Required

当您使用WCF时,它可以帮助您实现额外的抽象层和保护层。您可以使用自己的成员身份对可以访问WCF服务的用户进行身份验证,而不必担心直接从客户端连接到数据库


考虑到所有因素,使用WCF或任何其他web服务层而不是直接从客户端连接到数据库将是更好的方法。

我认为只要连接字符串正确,您就可以从任何平台访问基于web的数据库-web app、WinForm等。WCF(Windows Communication Foundation)是.NET远程处理和旧式ASMX web服务的替代品-您可以查看WCF数据服务。没有“正确”的答案本身-关键是能够连接到DB服务器。有几种前端方法和多种访问DB-ADO.NET的方法,实体框架仅举两种。此外,您可以使用与MS Sql Server Management Studio相当的MySQL进行连接。WCF方法需要您编写服务(常规WCF服务或WCF数据服务)除了前端应用程序之外,还必须在某个地方托管以连接到数据库。