Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nservicebus审计服务_Nservicebus - Fatal编程技术网

Nservicebus审计服务

Nservicebus审计服务,nservicebus,Nservicebus,我正在尝试使用nservicebus创建审核日志服务。由于我需要在不重新编译的情况下创建应用程序,我发现()挂接OnTransportMessageReceived事件很好。此外,我还需要存储传入消息的消息体。 你能让我知道我怎样才能做到吗? 我尝试了以下步骤,现在创建一个处理IMessage的处理程序 public class AuditLogMessagehandler : IHandleMessages<IMessage> { public IBus B

我正在尝试使用nservicebus创建审核日志服务。由于我需要在不重新编译的情况下创建应用程序,我发现()挂接OnTransportMessageReceived事件很好。此外,我还需要存储传入消息的消息体。 你能让我知道我怎样才能做到吗? 我尝试了以下步骤,现在创建一个处理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();
        }
    }
公共类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

提前感谢,,
Ajai

NServicebus具有开箱即用的审计功能。请参阅以下链接:

这将获取消息的副本并将其移动到审计Q。从那里您可以读取审计Q并将消息复制到文件中,然后移动到数据库中。不管你想要什么

这有意义吗

Dave

你能看看上面的链接吗