最优架构解决方案

时间:2010-01-29 09:42:52

标签: c# optimization n-tier-architecture

我正在构建一个应用程序(当前)由一个Web应用程序(ASP.NET MVC)和两个控制台应用程序组成。

Web应用程序只是用户界面。第一个控制台应用程序是在指定的时间间隔内运行的服务,并且会抓取多个网页。第二个控制台应用程序负责通过邮件从我的“下载器”发送信息。我的控制台应用程序运行在不同的计算机UI只显示下载程序的结果。

程序是这样的:

当用户在UI中添加URI以进行刮擦时,uri将保存到SQL Server表中。然后我的“下载器”选择所有uris并将它们刮掉并将其插入结果表和邮件队列表。然后,我的“邮件发件人”选择邮件队列表中的所有行,并将信息发送给用户。

这是“最佳”解决方案,还是可以以任何方式对其进行优化?我觉得现在很难维持。也许我可以使用WCF直接在我的应用程序之间进行通信?

控制台应用程序在不同计算机上运行的原因是“Downloader”需要连接到VPN,我无法从中发送邮件。

2 个答案:

答案 0 :(得分:3)

您可以使用NServiceBus在服务和Web应用程序之间发送消息。

答案 1 :(得分:0)

使用下面的RabbitMQ消息队列构建WCF服务器。 http://www.rabbitmq.com/dotnet.html

如果需要,这可以为您提供卓越的性能和消息持久性。