Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / TracingConnectionListener.cs / 1 / TracingConnectionListener.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.ServiceModel.Diagnostics; using System.Threading; class TracingConnectionListener : IConnectionListener { ServiceModelActivity activity; IConnectionListener listener; internal TracingConnectionListener(IConnectionListener listener, string traceStartInfo): this(listener, traceStartInfo, true) { } internal TracingConnectionListener(IConnectionListener listener, Uri uri) : this(listener, uri.ToString()) { } internal TracingConnectionListener(IConnectionListener listener) { this.listener = listener; this.activity = ServiceModelActivity.CreateActivity(DiagnosticTrace.ActivityId, false); } internal TracingConnectionListener(IConnectionListener listener, string traceStartInfo, bool newActivity) { this.listener = listener; if (newActivity) { this.activity = ServiceModelActivity.CreateActivity(); if (DiagnosticUtility.ShouldUseActivity) { DiagnosticUtility.DiagnosticTrace.TraceTransfer(this.activity.Id); ServiceModelActivity.Start(this.activity, SR.GetString(SR.ActivityListenAt, traceStartInfo), ActivityType.ListenAt); } } else { this.activity = ServiceModelActivity.CreateActivity(DiagnosticTrace.ActivityId, false); if (this.activity != null) { this.activity.Name = traceStartInfo; } } } public void Listen() { using (ServiceModelActivity.BoundOperation(this.activity)) { this.listener.Listen(); } } public IAsyncResult BeginAccept(AsyncCallback callback, object state) { using (ServiceModelActivity.BoundOperation(this.activity)) { return this.listener.BeginAccept(callback, state); } } public IConnection EndAccept(IAsyncResult result) { using (ServiceModelActivity.BoundOperation(this.activity)) { ServiceModelActivity activity = ServiceModelActivity.CreateActivity(); if (activity!= null) { DiagnosticUtility.DiagnosticTrace.TraceTransfer(activity.Id); } using (ServiceModelActivity.BoundOperation(activity)) { ServiceModelActivity.Start(activity, SR.GetString(SR.ActivityReceiveBytes, this.activity.Name), ActivityType.ReceiveBytes); IConnection innerConnection = this.listener.EndAccept(result); if (innerConnection == null) { return null; } TracingConnection retval = new TracingConnection(innerConnection, activity); return retval; } } } public void Dispose() { using (ServiceModelActivity.BoundOperation(this.activity)) { this.listener.Dispose(); this.activity.Dispose(); } } } } // 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
- EmptyStringExpandableObjectConverter.cs
- UrlPath.cs
- DecoratedNameAttribute.cs
- JavaScriptSerializer.cs
- ActivityInstance.cs
- InstanceDataCollectionCollection.cs
- CheckedListBox.cs
- ProfileManager.cs
- SafeFileMappingHandle.cs
- CombinedGeometry.cs
- DifferencingCollection.cs
- LongValidatorAttribute.cs
- DocumentSequence.cs
- DataBoundLiteralControl.cs
- Lock.cs
- ContainerActivationHelper.cs
- Span.cs
- TextContainer.cs
- embossbitmapeffect.cs
- ProtocolInformationReader.cs
- XmlC14NWriter.cs
- Registry.cs
- ToolStripItem.cs
- XslAst.cs
- SqlNotificationRequest.cs
- SqlOuterApplyReducer.cs
- CipherData.cs
- RemoteCryptoTokenProvider.cs
- controlskin.cs
- XmlEventCache.cs
- CompressedStack.cs
- ClientConvert.cs
- tooltip.cs
- CompilerGeneratedAttribute.cs
- DomainConstraint.cs
- SchemaDeclBase.cs
- MetadataPropertyAttribute.cs
- DataBindEngine.cs
- COM2ColorConverter.cs
- ProcessProtocolHandler.cs
- UriTemplateEquivalenceComparer.cs
- HttpRequest.cs
- OleStrCAMarshaler.cs
- Substitution.cs
- XmlSchemaAttributeGroup.cs
- DesignTimeTemplateParser.cs
- CryptoConfig.cs
- PreviewControlDesigner.cs
- ConfigDefinitionUpdates.cs
- DataServiceRequestOfT.cs
- ContentHostHelper.cs
- ScriptReferenceEventArgs.cs
- SqlFlattener.cs
- ContainerAction.cs
- RPIdentityRequirement.cs
- Int16.cs
- XmlValidatingReaderImpl.cs
- FieldNameLookup.cs
- HtmlInputRadioButton.cs
- ProjectionPlan.cs
- DataColumnCollection.cs
- ConnectionManagementSection.cs
- StringKeyFrameCollection.cs
- ZeroOpNode.cs
- List.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- DSASignatureFormatter.cs
- ComponentDispatcherThread.cs
- ConstraintConverter.cs
- TypeDescriptor.cs
- ClientConvert.cs
- wgx_commands.cs
- CollectionChangeEventArgs.cs
- HttpFileCollection.cs
- MsdtcWrapper.cs
- SafeCryptoHandles.cs
- Misc.cs
- SchemaImporterExtensionElementCollection.cs
- XmlDocumentType.cs
- OracleDataAdapter.cs
- ReflectEventDescriptor.cs
- WebPartMenuStyle.cs
- PersonalizationProviderCollection.cs
- Sequence.cs
- StyleBamlTreeBuilder.cs
- ImmComposition.cs
- TableRowCollection.cs
- TrackingProfileCache.cs
- PersonalizationStateQuery.cs
- ImageField.cs
- SatelliteContractVersionAttribute.cs
- xamlnodes.cs
- LinkLabel.cs
- FormView.cs
- DiagnosticsConfigurationHandler.cs
- SecurityTokenException.cs
- InvalidContentTypeException.cs
- BindToObject.cs
- PropertyToken.cs
- EntityDataSourceConfigureObjectContextPanel.cs