我想创建一个与外部Linux服务器通信的C#.NET WPF应用程序。在我的服务器上运行MySQL数据库。
访问数据库(select,DML)的最佳方法是什么,而无需通过ADO.NET直接访问它?
我想过一个web服务,但我不知道如何在Linux服务器上使用C#创建和访问web服务。我还需要一个安全的连接(https)。
我希望你能告诉我最佳做法。
答案 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
当然,安全在这里非常重要。 HTTPS会加密您的通信,但您还需要实施可靠的身份验证。
答案 1 :(得分:1)
Client application in C# <-> Server application in Java <-> MySQL database
我能做对吗?如果是这样,也许你可以做的最简单的事情是一个简单的servlet,它在url上获取存储过程名称和参数,调用MySQL,并将结果序列化回客户端应用程序(例如,用XML)。 / p>
允许以允许的方式调用存储过程作为公共前缀,以便您可以轻松过滤掉潜在的恶意调用,或者使用MySQL安全性来执行此操作。