protected virtual void PrepareMessage(Message message) { message.Properties.Via = _localVia; this.ApplyChannelBinding(message); if (FxTrace.Trace.IsEnd2EndActivityTracingEnabled) { EventTraceActivity eventTraceActivity = EventTraceActivityHelper.TryExtractActivity(message); Guid relatedActivityId = EventTraceActivity.GetActivityIdFromThread(); if (eventTraceActivity == null) { eventTraceActivity = EventTraceActivity.GetFromThreadOrCreate(); EventTraceActivityHelper.TryAttachActivity(message, eventTraceActivity); } if (TD.MessageReceivedByTransportIsEnabled()) { TD.MessageReceivedByTransport( eventTraceActivity, this.LocalAddress != null && this.LocalAddress.Uri != null ? this.LocalAddress.Uri.AbsoluteUri : string.Empty, relatedActivityId); } } }
protected void TraceMessageReceived(Uri listenUri) { if (TD.MessageReceivedByTransportIsEnabled()) { TD.MessageReceivedByTransport(listenUri.OriginalString); } }
void TraceHttpMessageReceived(Message message) { if (FxTrace.Trace.IsEnd2EndActivityTracingEnabled) { bool attached = false; Guid relatedId = this.eventTraceActivity != null ? this.eventTraceActivity.ActivityId : Guid.Empty; HttpRequestMessageProperty httpProperty; // Encoder will always add an activity. We need to remove this and read it // from the web headers for http since correlation might be propogated. if (message.Headers.MessageId == null && message.Properties.TryGetValue <HttpRequestMessageProperty>(HttpRequestMessageProperty.Name, out httpProperty)) { try { string e2eId = httpProperty.Headers[EventTraceActivity.Name]; if (!String.IsNullOrEmpty(e2eId)) { byte[] data = Convert.FromBase64String(e2eId); if (data != null && data.Length == 16) { Guid id = new Guid(data); this.eventTraceActivity = new EventTraceActivity(id, true); message.Properties[EventTraceActivity.Name] = this.eventTraceActivity; attached = true; } } } catch (Exception ex) { if (Fx.IsFatal(ex)) { throw; } } } if (!attached) { this.eventTraceActivity = EventTraceActivityHelper.TryExtractActivity(message, true); } if (TD.MessageReceivedByTransportIsEnabled()) { TD.MessageReceivedByTransport( this.eventTraceActivity, this.listener != null && this.listener.Uri != null ? this.listener.Uri.AbsoluteUri : string.Empty, relatedId); } } }
protected virtual void PrepareMessage(Message message) { message.Properties.Via = this.localVia; if (this.exposeConnectionProperty) { message.Properties[ConnectionMessageProperty.Name] = this.connection; } this.ApplyChannelBinding(message); if (TD.MessageReceivedByTransportIsEnabled()) { TD.MessageReceivedByTransport(this.LocalAddress.Uri.AbsoluteUri); } if (DiagnosticUtility.ShouldTraceInformation) { TraceUtility.TraceEvent(TraceEventType.Information, 0x40013, System.ServiceModel.SR.GetString("TraceCodeMessageReceived"), MessageTransmitTraceRecord.CreateReceiveTraceRecord(message, this.LocalAddress), this, null, message); } }
protected virtual void PrepareMessage(Message message) { message.Properties.Via = this.localVia; this.ApplyChannelBinding(message); if (FxTrace.Trace.IsEnd2EndActivityTracingEnabled) { EventTraceActivity eventTraceActivity = EventTraceActivityHelper.TryExtractActivity(message); Guid relatedActivityId = EventTraceActivity.GetActivityIdFromThread(); if (eventTraceActivity == null) { eventTraceActivity = EventTraceActivity.GetFromThreadOrCreate(); EventTraceActivityHelper.TryAttachActivity(message, eventTraceActivity); } if (TD.MessageReceivedByTransportIsEnabled()) { TD.MessageReceivedByTransport( eventTraceActivity, this.LocalAddress != null && this.LocalAddress.Uri != null ? this.LocalAddress.Uri.AbsoluteUri : string.Empty, relatedActivityId); } } if (DiagnosticUtility.ShouldTraceInformation) { TraceUtility.TraceEvent( TraceEventType.Information, TraceCode.MessageReceived, SR.GetString(SR.TraceCodeMessageReceived), MessageTransmitTraceRecord.CreateReceiveTraceRecord(message, this.LocalAddress), this, null, message); } }