我正在尝试使用nservicebus创建一个审计日志服务。因为我需要在不重新编译的情况下使应用程序找到(http://tech.dir.groups.yahoo.com/group/nservicebus/message/9416),最好挂钩OnTransportMessageReceived事件。同时我需要存储消息体传入的消息也是如此。 你能告诉我怎样才能实现? 我现在尝试了以下内容创建一个Handles IMessage的处理程序
public class AuditLogMessagehandler : IHandleMessages<IMessage>
{
public IBus Bus { get; set; }
public ITransport Transport { get; set; }
public AuditLogMessagehandler()
{
}
public void Handle(IMessage message)
{
string returnAddress = Bus.CurrentMessageContext.ReturnAddress;
string id = Bus.CurrentMessageContext.Id;
string messageType = message.GetType().Name;
IMessage[] messages = new IMessage[1];
messages[0] = message;
MessageSerializer ser = new MessageSerializer();
Stream memoryStream = new MemoryStream();
ser.Serialize(messages, memoryStream);
memoryStream.Flush();
memoryStream.Close();
}
}
它需要将dll复制到bin文件夹。但我没有收到消息bdoy threre,还请让我知道在什么时候或如何挂钩OnTransportMessageReceived
提前致谢, Ajai
答案 0 :(得分:2)
NServicebus开箱即用。请参阅以下链接:
http://docs.particular.net/nservicebus/operations/auditing
这将获取消息的副本并将其移至审核Q.从那里您可以阅读审核q并将消息复制到文件,移动到数据库中。什么你想要的。
这有意义吗?
戴夫