private void Adapter_OnObserve(object sender, ObserveMessageEventArgs e) { MessageAuditRecord record = null; int length = 0; DateTime sendTime = DateTime.UtcNow; try { byte[] message = ProtocolTransition.ConvertToHttp(e.Message); Send(message).LogExceptions(); OnObserve?.Invoke(this, new ChannelObserverEventArgs(Channel.Id, e.Message.ResourceUri, e.Message.ContentType, e.Message.Message)); length = message.Length; record = new MessageAuditRecord(e.Message.MessageId, identity, Channel.TypeId, "WSN", length, MessageDirectionType.Out, true, sendTime); } catch (Exception ex) { string msg = string.Format("{0} - WSN adapter observe error on channel '{1}' with '{2}'", DateTime.UtcNow.ToString("yyyy-MM-ddTHH-MM-ss.fffff"), Channel.Id, ex.Message); logger?.LogError(ex, $"WSN adapter observe error on channel '{Channel.Id}'."); record = new MessageAuditRecord(e.Message.MessageId, identity, Channel.TypeId, "WSN", length, MessageDirectionType.Out, true, sendTime, msg); } finally { if (e.Message.Audit) { messageAuditor?.WriteAuditRecordAsync(record).Ignore(); } } }
private void Adapter_OnObserve(object sender, ObserveMessageEventArgs e) { byte[] payload = ProtocolTransition.ConvertToHttp(e.Message); OnObserve?.Invoke(this, new ChannelObserverEventArgs(e.Message.ResourceUri, e.Message.ContentType, payload)); }