【问题标题】:Linking C# desktop app with Rails web app [closed]将 C# 桌面应用程序与 Rails Web 应用程序链接 [关闭]
【发布时间】:2013-02-14 01:10:44
【问题描述】:

我有一个 Windows 桌面应用程序(使用 C# 使用 .NET 2.0 框架开发),我想连接到一个 Rails Web 应用程序。理想情况下,该方案的工作方式如下:

用户运行 Windows 桌面应用程序并生成一些结果。然后,桌面应用程序将结果上传到数据库,Rails Web 应用程序可以对其进行操作并做一些有趣的事情(例如,制作漂亮的图表)。

我在 .NET 方面的经验有限,但我在 RoR 方面拥有相当深厚的背景。我目前对使用哪种类型的数据库以及如何使两个应用程序操作同一个数据库感到困惑。有什么建议吗?

【问题讨论】:

  • 看起来你不想要的是 Rails 应用程序上的 API。

标签: c# .net ruby-on-rails database web-applications


【解决方案1】:
  1. 您可以使用任何可用的数据库。 .NET 或 ROR 不会限制您的选择。

  2. 您可以让 rails 应用程序轮询数据库以获取所述数据(不太好)。或者您可以开发一个 Web 服务并让桌面应用程序调用它来触发数据操作。

Web services on rails.

How to consume webservices in C# winforms

More on consuming web services in C# winforms

【讨论】:

    【解决方案2】:

    “我目前对使用哪种类型的数据库感到困惑”

    说出你的毒药! :) 您可以通过 .NET 和 Ruby/RoR 与地球上几乎所有的数据库进行对话,包括:

    • 关系型数据库,如 SQL Server、DB2、Oracle、MySql、ProgreSQL 等。
    • 文档数据库,如 MongoDB、CouchDB、RavenDB 等。
    • 其他 NOSQL 键值存储,包括 Cassandra、Dynamo、Riak、Redis、Memcache、Azure 表存储等。

    选择一个满足您需求的并去做。

    “如何允许两个应用程序之间的通信”

    我不太清楚您的意思是什么,但我假设您的意思是,在上传数据后,您的应用程序应该会打开一个显示漂亮数据图表的网页?如果是这样,这是微不足道的,不需要在您的 .NET 应用程序和您的 RoR 站点之间直接集成,除了您的 .NET 应用程序生成一个 Web 浏览器的实例并要求它打开给定的网页:

    var process = new Process();
    process.StartInfo.FileName = "iexplore";
    process.StartInfo.Arguments = @"http:\\myreportgenerator.com?customerid=1234";
    process.Start();
    

    如果您希望您的 .NET 应用能够要求您的 RoR 站点执行特定操作,请考虑 adding a REST web services API to your RoR site

    更进一步,您实际上可以从 .NET 应用程序中删除所有 DB 代码,只需让它通过 REST(JSON/XML over HTTP)调用请求数据并将数据发送到您的 RoR 站点,在内部执行所有 DB IO。

    【讨论】:

      【解决方案3】:

      数据库可以是 .NET 和 RoR 都可以与之通信的任何您想要的东西。我不是 RoR 专家,但 .NET 可以与您想要的任何数据库进行通信。

      应用程序之间的通信是通过数据库进行的。您通过 C# 应用程序插入/操作数据,然后读取数据并使用 RoR 应用程序对其进行处理。两个应用程序之间确实不应该直接(应用程序到应用程序)通信。

      【讨论】:

      • 很高兴看到我的逻辑是对的 :)
      猜你喜欢
      • 2011-05-20
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      相关资源
      最近更新 更多