【问题标题】:C#/C++ Client-Server applicationC#/C++ 客户端-服务器应用程序
【发布时间】:2016-04-17 21:30:27
【问题描述】:

我正在编写一个将提供给许多客户端的应用程序,为了不允许他们直接访问我的数据库,我开始使用 C++ 开发一个服务器应用程序,它接收客户端请求、与数据库交互并发送回应。但这似乎有点复杂,让客户端应用程序与远程数据库交互会更好吗?这样做有什么风险吗?

第一个解决方案:

第二种解决方案:

【问题讨论】:

  • 只是一个建议。为什么不使用 RESTFUL api 呢?

标签: c# c++ client-server


【解决方案1】:

通常您会使用接口抽象数据库。经典是 odata,Visual Studio 可以通过向导将其构建为 asp Web 服务。正如 Joakim 建议的那样,这很安静。 https://en.wikipedia.org/wiki/Database_abstraction_layer

【讨论】:

    【解决方案2】:

    有多种选项,例如 'tim' 提到的选项,可以在不使用 ODATA 的情况下完成;这意味着创建一个数据层(单独的应用程序),它将满足来自客户端的请求,并且不会让他们直接访问数据库。但是,在建议之前我想知道您是如何托管 Web 应用程序的? 您仍然可以通过阻止对数据库的远程访问来实现客户端无法访问。 这些问题取决于您的代码和结构;两种方法都有效!

    【讨论】:

      【解决方案3】:

      如果您有 C# 客户端,为什么不使用 C# WCF 服务器?

      你在灵魂 1 中所做的通常是最佳实践。 它允许您: *稍后切换数据库。 *对您的客户隐藏数据库的结构。 这意味着如果有人反编译您的客户端,他们将不知道如何攻击您。

      但是它更复杂,需要大量额外的工作。

      如果您不担心有人会入侵您的数据库。 而且您知道数据库结构只会发生非常小的变化EVER。 你可以跳过这一步,直接与数据库对话。

      但你可能错了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-28
        • 2011-07-29
        相关资源
        最近更新 更多