我有一个正在运行窗口服务的场景。每当我的 asp.net web 中发生特定异常时,我都会调用窗口服务或从 asp.net web 向我的窗口服务发送消息,并且窗口服务会在收到该消息时生成一封电子邮件。对于这种情况,最好的解决方案是什么。我应该使用某种 wcf 服务还是共享数据库。请在这方面指导我。
问问题
927 次
1 回答
0
您的要求与使用 MSMQ 进行消息传递的方式非常相似。您需要一个共享位置,您可以在其中从您的 asp.net 发布异常,并且它将由服务选择。有不同的选项可用。其中之一是使用 MSMQ,您可以将数据发布到队列并且您的服务可以读取它。如果您对安装 MSMQ 及其编码方面感兴趣。数据库将是最好的解决方案。有一个表格,您可以在其中记录包含所有信息的异常消息。现在,您的服务将选择记录并对其进行处理并将其标记为完成。您可以有两种方法,或者在处理 Delete the record 之后,这将使您的数据库非常轻巧且易于使用。其他方法是保留一个标志,其状态为 POSTED、PROCESSING 和 COMPLETED。https://github.com/gaillard/mongo-queue-csharp。直接发布到 WCF 不是一个好主意,以防中间发生一些错误,您将永远丢失消息。
于 2013-04-29T08:01:41.490 回答