访问远程数据库 - 最佳实践

时间:2014-01-07 09:17:50

标签: c# database

我想创建一个与外部Linux服务器通信的C#.NET WPF应用程序。在我的服务器上运行MySQL数据库。

访问数据库(select,DML)的最佳方法是什么,而无需通过ADO.NET直接访问它?

我想过一个web服务,但我不知道如何在Linux服务器上使用C#创建和访问web服务。我还需要一个安全的连接(https)。

我希望你能告诉我最佳做法。

2 个答案:

答案 0 :(得分:4)

Web服务是解耦应用程序的客户端和服务器部分的好方法,为访问数据库提供增强的安全性等。

您在Linux服务器上使用MySQL,因此如果您想将.NET用于服务器的Web服务,则需要使用Mono http://www.mono-project.com/。另外,请看一下WCF,因为它提供了许多您需要构建的Web服务功能。如果我没记错的话,甚至可以从现有的ADO.NET数据层自动生成整个Web服务。

但是,如果您在服务器端使用不同的框架/语言,那么如果您不想自己动手,那么有很多选择。搜索" restful mysql"并且你会得到一些线索,例如:

  

Exposing MySQL database/table using REST

     

http://phprestsql.sourceforge.net/

     

http://restsql.org

当然,安全在这里非常重要。 HTTPS会加密您的通信,但您还需要实施可靠的身份验证。

答案 1 :(得分:1)

Client application in C# <-> Server application in Java <-> MySQL database

我能做对吗?如果是这样,也许你可以做的最简单的事情是一个简单的servlet,它在url上获取存储过程名称和参数,调用MySQL,并将结果序列化回客户端应用程序(例如,用XML)。 / p>

允许以允许的方式调用存储过程作为公共前缀,以便您可以轻松过滤掉潜在的恶意调用,或者使用MySQL安全性来执行此操作。