首先,我看了她关于这个问题的每一个相关话题。然而,他们中没有一个人能够完全回答我的问题。
目前,我正在开发一个桌面应用程序,用C#/wpf编写,它需要MySQL连接来进行身份验证和存储用户自定义列表等。
然而,问题是,显然,允许每个人远程连接到MySQL数据库并不是一个好的做法。此外,我当前的主机需要将IP列入白名单,然后才能连接到数据库。
我在这方面有什么选择?
提前谢谢你
发布于 2012-08-17 19:45:50
您应该考虑创建web服务(SOAP)、http web-api (REST)或其他一些中间件来抽象您的数据存储。
这样做的好处是:
sql允许您将大部分业务逻辑从桌面应用程序转移到中间件中。
之外,这可能是一个bottleneck
如果你已经在使用C#,那么新的MVC4 web-api应该是一个很好的选择。点击此处阅读更多信息:
如果采用该方法,则可以控制服务中的访问,并使服务通过连接字符串中的凭据访问数据库,或者,如果使用IIS,则使用映射到站点的应用程序池上的凭据。
如果你正在交付你的桌面应用程序(你没有托管数据库),那么如果你的客户不想安装/管理IIS,你也可以在它自己的exe中自行托管web-api。
最后,如果您的mysql是在线的,那么您的中间件可能在云中(azure等)。
发布于 2012-08-17 19:56:41
创建web服务,例如使用WCF或MVC Web API,您的应用程序可以在其中传递其凭据并进行身份验证。我推荐使用https作为传输安全性。
https://stackoverflow.com/questions/12005027
复制相似问题