我有一个Windows桌面应用程序(使用C#使用.NET 2.0框架开发),我想连接到rails web应用程序。理想情况下,该方案的工作方式如下:
用户运行Windows桌面应用程序并生成一些结果。然后,桌面应用程序将结果上传到Rails Web应用程序可以操作的数据库,并对此进行操作(例如,制作漂亮的图形)。
我对.NET的经验有限,但我在RoR方面有相当强的背景。我目前正在使用哪种类型的数据库,以及如何使两个应用程序操作相同的数据库。有什么建议吗?
答案 0 :(得分:2)
您可以使用任何可用的数据库。 .NET
或ROR不会限制您的选择。
您可以让rails app轮询数据库以获取所述数据(不太好)。或者您可以开发Web服务并让桌面应用程序调用它来触发数据操作。
答案 1 :(得分:0)
数据库可以是.NET和RoR可以与之通信的任何内容。我不是RoR专家,但.NET可以与您想要的任何数据库进行对话。
应用程序之间的通信通过数据库进行。您通过C#app插入/操作数据,然后读取数据并使用RoR应用程序处理它。两个应用程序之间确实应该没有直接(应用程序到应用程序)通信。
答案 2 :(得分:0)
“我目前正在绊倒使用哪种类型的数据库”
说出你的毒药! :)您可以通过.NET和Ruby / RoR与地球上的几乎所有数据库进行交流,包括:
选择一个满足您需求的产品。
“如何允许两个应用程序之间的通信”
我不太清楚你的意思,但我认为你的意思是,在某些时候,在上传数据之后,你的应用程序应该打开一个显示数据的漂亮图表的网页?如果是这样,这是微不足道的,除了您的.NET应用程序产生Web浏览器实例并要求它打开给定的网页之外,您的.NET应用程序和您的RoR站点之间不需要直接集成:
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。