Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Diagnostics / ActivityIdHeader.cs / 1 / ActivityIdHeader.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Diagnostics { using System; using System.ServiceModel.Channels; using System.Diagnostics; using System.Xml; class ActivityIdHeader : DictionaryHeader { Guid guid; Guid headerId; internal ActivityIdHeader(Guid activityId) : base() { this.guid = activityId; this.headerId = Guid.NewGuid(); } internal static Guid ExtractActivityId(Message message) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } Guid guid = Guid.Empty; try { if (message.State != MessageState.Closed && message.Headers != null) { int index = message.Headers.FindHeader(DiagnosticStrings.ActivityId, DiagnosticStrings.DiagnosticsNamespace); // Check the state again, in case the message was closed after we found the header if (index >= 0) { using (XmlDictionaryReader reader = message.Headers.GetReaderAtHeader(index)) { guid = reader.ReadElementContentAsGuid(); } } } } #pragma warning suppress 56500 // covered by FxCOP catch (Exception e) { if (DiagnosticUtility.IsFatal(e)) { throw; } if (DiagnosticUtility.ShouldTraceError) { TraceUtility.TraceEvent(TraceEventType.Error, TraceCode.FailedToReadAnActivityIdHeader, null, e); } } return guid; } internal void AddTo(Message message) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } if (message.State != MessageState.Closed && message.Headers.MessageVersion.Envelope != EnvelopeVersion.None) { int index = message.Headers.FindHeader(DiagnosticStrings.ActivityId, DiagnosticStrings.DiagnosticsNamespace); if (index < 0) { message.Headers.Add(this); } } } protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } writer.WriteAttributeString("CorrelationId", this.headerId.ToString()); writer.WriteValue(this.guid); } public override XmlDictionaryString DictionaryName { get { return XD.ActivityIdFlowDictionary.ActivityId; } } public override XmlDictionaryString DictionaryNamespace { get { return XD.ActivityIdFlowDictionary.ActivityIdNamespace; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlCustomFormatter.cs
- DataSourceControl.cs
- InstanceCreationEditor.cs
- DataGridTable.cs
- OlePropertyStructs.cs
- GenericPrincipal.cs
- GB18030Encoding.cs
- LocalClientSecuritySettings.cs
- dbdatarecord.cs
- ExtentKey.cs
- AsynchronousChannelMergeEnumerator.cs
- HttpModulesSection.cs
- SignedXml.cs
- ExtenderProvidedPropertyAttribute.cs
- PrefixQName.cs
- ViewStateModeByIdAttribute.cs
- InvalidDocumentContentsException.cs
- ConfigXmlElement.cs
- StylusPointDescription.cs
- TransformedBitmap.cs
- ConfigurationErrorsException.cs
- EntryWrittenEventArgs.cs
- StyleCollection.cs
- SevenBitStream.cs
- DefaultTextStoreTextComposition.cs
- x509utils.cs
- CqlParserHelpers.cs
- ContactManager.cs
- HttpStaticObjectsCollectionWrapper.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- RequestValidator.cs
- FunctionUpdateCommand.cs
- XmlFileEditor.cs
- NamespaceCollection.cs
- invalidudtexception.cs
- PointF.cs
- SafeRightsManagementPubHandle.cs
- BaseCAMarshaler.cs
- MenuBindingsEditor.cs
- ScriptHandlerFactory.cs
- ExpressionBindingCollection.cs
- UInt16Converter.cs
- ItemsChangedEventArgs.cs
- TimelineGroup.cs
- Size.cs
- Funcletizer.cs
- DtcInterfaces.cs
- StringFormat.cs
- StoreContentChangedEventArgs.cs
- CommandBindingCollection.cs
- TokenBasedSetEnumerator.cs
- SmiEventSink_DeferedProcessing.cs
- ObjectDisposedException.cs
- WebPartHeaderCloseVerb.cs
- ByteStack.cs
- SafeProcessHandle.cs
- EmbeddedMailObjectsCollection.cs
- SqlTransaction.cs
- Decoder.cs
- GPRECTF.cs
- EncoderBestFitFallback.cs
- SqlDataSourceSelectingEventArgs.cs
- GridViewRowCollection.cs
- FormViewPagerRow.cs
- WebSysDefaultValueAttribute.cs
- ErrorFormatter.cs
- TemplateControlBuildProvider.cs
- ResourceBinder.cs
- RuntimeConfigLKG.cs
- ObjectDataSourceDisposingEventArgs.cs
- StorageFunctionMapping.cs
- ObjectDataSourceFilteringEventArgs.cs
- Fonts.cs
- StringValidator.cs
- EventPropertyMap.cs
- DataSourceHelper.cs
- RemotingException.cs
- SerialPort.cs
- ToolStripRenderer.cs
- ContainerFilterService.cs
- KnownTypesProvider.cs
- ProxyWebPartConnectionCollection.cs
- MetadataException.cs
- RijndaelManaged.cs
- NamespaceEmitter.cs
- StringValidator.cs
- DeleteHelper.cs
- _BasicClient.cs
- ConstraintConverter.cs
- DocumentCollection.cs
- SyntaxCheck.cs
- ReadOnlyCollectionBase.cs
- EntityContainerRelationshipSetEnd.cs
- PatternMatcher.cs
- ClosableStream.cs
- ValidationResult.cs
- Tuple.cs
- AttachedProperty.cs
- BitmapEffectrendercontext.cs
- VisualBrush.cs