链接C#桌面使用Rails Web应用程序

问题描述:

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

用户运行Windows桌面应用程序,并产生了一定的成效。然后,桌面应用程序将结果上传到Rails Web应用程序可以操作的数据库中,并对此进行有趣的操作(例如,制作漂亮的图形)。

我与.NET的经验是有限的,但我有一个回报率相当强大的背景。我目前绊倒哪种类型的数据库以及如何使这两个应用程序操纵相同的数据库。有什么建议么?

+0

似乎你想在轨应用程序的API。 – 2013-02-28 00:49:38

“我目前绊倒在哪种类型的数据库使用”

名称你的毒药! :)你可以跟几乎每一个数据库在这个星球上,从.NET和红宝石/回报率,包括:

  • 关系数据库如SQL Server,DB2,Oracle,MySQL等,ProgreSQL等
  • 文档 - 数据库MongoDB的一样,CouchDB的,RavenDB等
  • 其他NOSQL键值店,包括卡桑德拉,发电机,了Riak,Redis的,内存缓存,Azure Table中存储等

选择一个满足您的需求,去它。

“如何让这两个应用之间的通信”

我不太明白你的这个是什么意思,但我会假设你的意思是,在某些时候,后上传其数据,你的应用程序应该打开一个网页,显示一个很好的数据图表?如果是这样,这是微不足道的,并且不需要您的.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应用程序中消除所有数据库代码,并通过REST(JSON/XML over HTTP)调用请求并发送数据到您的RoR站点,在内部执行所有数据库IO 。

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

应用程序之间的通信通过数据库发生。您可以通过C#应用程序插入/操作数据,然后读取数据并使用RoR应用程序处理数据。这两个应用程序之间确实不应该有直接的(应用程序到应用程序)通信。

+0

很高兴看到我的逻辑是对的:) – user1849893 2013-02-28 00:51:29

  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