链接c#桌面应用和Rails web应用

本文关键字:应用 Rails web 链接 桌面 | 更新日期: 2023-09-27 18:01:24

我有一个Windows桌面应用程序(使用。net 2.0框架使用c#开发),我想连接到rails web应用程序。理想情况下,情况如下:

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

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

链接c#桌面应用和Rails web应用

  1. 您可以使用任何可用的数据库。.NET或ROR不会限制您的选择。

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

Web services on rails.

如何在c# winforms中使用web服务

在c# winforms中使用web服务的更多信息

"我现在不知道该使用哪种类型的数据库"

说出你的毒药!:)你几乎可以从。net和Ruby/RoR与地球上的每一个数据库对话,包括:

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

选择一个符合你需要的,然后去做。

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

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

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

如果你希望你的。net应用程序能够请求你的RoR站点做一些特定的事情,那么考虑给你的RoR站点添加一个REST web服务API。

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

数据库可以是。net和RoR都可以与之通信的任何数据库。我不是RoR专家,但是。net可以和任何你想要的数据库对话。

应用程序之间的通信通过数据库进行。你通过c#应用程序插入/操作数据,然后用RoR应用程序读取数据并处理它。两个应用程序之间真的不应该有直接的(应用到应用)通信。