我正在构建一个应用程序,该应用程序(目前)由一个 Web 应用程序 (ASP.NET MVC) 和两个控制台应用程序组成。
Web 应用程序只是用户界面。第一个控制台应用程序是一个以指定时间间隔运行的服务,并抓取多个网页。第二个控制台应用程序负责通过邮件从我的“下载器”发送信息。我的控制台应用程序在不同的计算机上运行。 UI 仅显示下载器的结果。
过程是这样的:
当用户在 UI 中添加要抓取的 URI 时,该 uri 将保存到 SQL Server 表中。我的“下载器”然后选择所有 uris 并抓取它们并将其插入到结果表和邮件队列表中。然后我的“邮件发件人”从邮件队列表中选择所有行并将信息发送给用户。
这是“最佳”解决方案,还是我可以以任何方式优化它?我发现现在很难维护。也许我可以使用 WCF 在我的应用程序之间直接通信?
控制台应用程序在不同计算机上运行的原因是“下载器”需要连接到 VPN,我无法从中发送邮件。
最佳答案
您可以使用 NServiceBus 在服务和 Web 应用程序之间发送消息。
关于c# - 最优架构方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161048/