2009-02-06 138 views
3

我需要将数据从Web应用程序提交到控制台应用程序。当前计划要求Web应用程序向数据库和控制台应用程序提交数据以轮询数据库,然后在插入数据时处理数据。我是否应该更改控制台应用程序以包含Web应用程序可以提交数据的http处理程序,以便它不必轮询数据库?在这两个应用程序之间传递数据是否有更好的方法?控制台应用程序从不必将数据发送到Web应用程序。将数据从Web应用程序提交到C#控制台应用程序

更新

这是一个.NET 2.0的控制台应用程序,以便WCF似乎并不像一个可行的选择。数据有效载荷相当小(少数9位ID字段,总共小于150字节),并且每分钟发送速率约为10。这两个应用程序之间没有防火墙。

+0

是远程处理还是msmq出了问题? – Joe 2009-02-06 23:23:36

+0

他们不是没有问题,但我从来没有使用过它们。我现在正在研究它们,看看哪些方法最好。 – 2009-02-06 23:31:14

回答

0

使用最简单的技术,您的控制台应用程序可以连接到由定时器或BackgroundWorker控制的循环中的数据库。您需要一种方法来了解哪些记录是新的,哪些不是。如果您可以在轮询时从该表中删除记录,则意味着每次执行此操作时,您只会获得新记录。如果无法删除它们,请在该表中使用TimeStamp字段,并且每次轮询时,都要选择时间戳大于上一批的最大时间戳的记录。如果您需要将这些记录标记为已处理,那么您可以设置该标记并忘记时间戳记。

2

我不确定你的要求或设置,但WCF可能是一个选项。


要展开,您可以在控制台应用程序中托管一个wcf服务,并让asp.net站点调用它。就此而言,远程(或任何其他形式)也可以工作。这样,您不必在不必要时让控制台应用程序池数据库。

0

你基本上想要一个应用程序来应用程序通信。 有很多选择,但真正取决于您的要求(多少数据,多大,多久,延迟),环境(防火墙,在线/离线,恢复)等等。

使用数据库是一种解决方案。但你可以使用其他的 - 甚至web服务(wcf),消息系统(msmq),.net远程处理。

相关问题