Nservicebus审计服务
我正在尝试使用nservicebus创建审核日志服务。由于我需要在不重新编译的情况下创建应用程序,我发现()挂接OnTransportMessageReceived事件很好。此外,我还需要存储传入消息的消息体。 你能让我知道我怎样才能做到吗? 我尝试了以下步骤,现在创建一个处理IMessage的处理程序Nservicebus审计服务,nservicebus,Nservicebus,我正在尝试使用nservicebus创建审核日志服务。由于我需要在不重新编译的情况下创建应用程序,我发现()挂接OnTransportMessageReceived事件很好。此外,我还需要存储传入消息的消息体。 你能让我知道我怎样才能做到吗? 我尝试了以下步骤,现在创建一个处理IMessage的处理程序 public class AuditLogMessagehandler : IHandleMessages<IMessage> { public IBus B
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();
}
}
公共类AuditLogMessagehandler:IHandleMessages
{
公共IBus总线{get;set;}
公共ITransport传输{get;set;}
公共AuditLogMessagehandler()
{
}
公共无效句柄(IMessage消息)
{
字符串returnAddress=Bus.CurrentMessageContext.returnAddress;
字符串id=Bus.CurrentMessageContext.id;
字符串messageType=message.GetType().Name;
IMessage[]messages=新IMessage[1];
消息[0]=消息;
MessageSerializer ser=新MessageSerializer();
Stream memoryStream=新的memoryStream();
序列化(消息、内存流);
memoryStream.Flush();
memoryStream.Close();
}
}
它要求将dll复制到bin文件夹。但是我没有收到消息bdoy threre,也请告诉我在什么时候或者如何连接到OnTransportMessageReceived
提前感谢,,
AjaiNServicebus具有开箱即用的审计功能。请参阅以下链接: 这将获取消息的副本并将其移动到审计Q。从那里您可以读取审计Q并将消息复制到文件中,然后移动到数据库中。不管你想要什么 这有意义吗 Dave你能看看上面的链接吗