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
- HttpInputStream.cs
- MimeTypePropertyAttribute.cs
- MsmqPoisonMessageException.cs
- ErrorHandler.cs
- MeasurementDCInfo.cs
- PointUtil.cs
- URLString.cs
- ListSortDescription.cs
- GPRECT.cs
- ProfileInfo.cs
- SmtpMail.cs
- Msec.cs
- ExceptionRoutedEventArgs.cs
- CancellationTokenSource.cs
- Image.cs
- ToolStripItem.cs
- ByteRangeDownloader.cs
- RewritingProcessor.cs
- QueryTask.cs
- CustomAttributeSerializer.cs
- ContractCodeDomInfo.cs
- QilFunction.cs
- XmlMembersMapping.cs
- DefaultWorkflowSchedulerService.cs
- ThrowOnMultipleAssignment.cs
- OuterGlowBitmapEffect.cs
- XamlStyleSerializer.cs
- Memoizer.cs
- Component.cs
- TextMessageEncodingElement.cs
- WorkflowPersistenceContext.cs
- PKCS1MaskGenerationMethod.cs
- ListViewContainer.cs
- XmlSortKey.cs
- ObjectSet.cs
- EventMappingSettingsCollection.cs
- KnownIds.cs
- WorkflowTraceTransfer.cs
- DebuggerAttributes.cs
- ProtocolsSection.cs
- MultiSelectRootGridEntry.cs
- HtmlElement.cs
- TextDecorationUnitValidation.cs
- SynchronizationScope.cs
- HttpInputStream.cs
- NativeMethods.cs
- MetadataConversionError.cs
- ComponentCommands.cs
- ChannelOptions.cs
- OverloadGroupAttribute.cs
- EdmProviderManifest.cs
- ErrorHandler.cs
- ImageClickEventArgs.cs
- SiteMapNodeItem.cs
- ServiceObjectContainer.cs
- RSATokenProvider.cs
- cookiecontainer.cs
- QueryAccessibilityHelpEvent.cs
- PagerStyle.cs
- NameTable.cs
- Button.cs
- SamlAuthenticationClaimResource.cs
- AppDomainManager.cs
- DataListItemCollection.cs
- RuntimeHandles.cs
- StrongNameKeyPair.cs
- MenuTracker.cs
- WindowsPrincipal.cs
- LogRestartAreaEnumerator.cs
- CombinedGeometry.cs
- ImageMapEventArgs.cs
- IndependentAnimationStorage.cs
- FontFamily.cs
- JapaneseLunisolarCalendar.cs
- BamlRecordReader.cs
- CodeTypeConstructor.cs
- ApplicationId.cs
- ConfigurationFileMap.cs
- Types.cs
- TemplateBuilder.cs
- AccessDataSourceView.cs
- ProviderCommandInfoUtils.cs
- UrlMapping.cs
- MemberAccessException.cs
- MetadataItemCollectionFactory.cs
- _NegoState.cs
- AttributeCollection.cs
- MarshalByRefObject.cs
- ImplicitInputBrush.cs
- PropertyEntry.cs
- LinearGradientBrush.cs
- OdbcConnectionHandle.cs
- cryptoapiTransform.cs
- NullReferenceException.cs
- MetadataArtifactLoaderFile.cs
- EntityClientCacheEntry.cs
- NameGenerator.cs
- OleCmdHelper.cs
- MobileListItemCollection.cs
- CultureTableRecord.cs