从Asp.net向窗口服务发送消息
本文关键字:消息 服务 窗口 Asp net | 更新日期: 2023-09-27 18:11:22
我有一个场景,我有一个窗口服务正在运行。无论何时,在我的asp.net web中出现一个特定的异常,我调用窗口服务或从asp.net web向窗口服务发送一个消息,窗口服务在收到该消息时生成一个电子邮件。这种情况下最好的解决方案是什么。我应该使用某种wcf服务或共享数据库。请在这方面指导我。
您的需求与使用MSMQ进行消息传递的方式非常相似。你需要一个共享的地方,在那里你可以从你的asp.net发布异常,它将被服务挑选。有不同的选择。其中之一是使用MSMQ,您可以将数据发布到队列,然后您的服务可以读取它。如果您对安装MSMQ及其编码方面感兴趣。数据库将是最好的解决方案。有一个表,您可以在其中记录包含所有信息的异常消息。现在您的服务将选择记录并处理它,并将其标记为完成。您可以有两种方式来做到这一点,要么在处理后删除记录,这将使您的数据库非常轻和快速的工作。另一种方法是保留一个标志,其状态为post、PROCESSING和COMPLETED。我使用相同的方式在我目前的PHP项目,但你可以有c#的方式也在我使用mongoDB, NoSQL:https://github.com/gaillard/mongo-queue-csharp。直接发布到WCF将不是一个好主意,以防在两者之间发生一些错误,你将永远失去消息。