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
- HttpCapabilitiesBase.cs
- ConfigurationSectionCollection.cs
- ContentPresenter.cs
- SspiSafeHandles.cs
- SqlCacheDependencyDatabaseCollection.cs
- RangeValueProviderWrapper.cs
- AutoResizedEvent.cs
- CmsInterop.cs
- OutputScope.cs
- WebUtility.cs
- SmiEventSink_DeferedProcessing.cs
- Table.cs
- UserControl.cs
- BoundingRectTracker.cs
- SqlBooleanMismatchVisitor.cs
- PropertyConverter.cs
- TableLayoutCellPaintEventArgs.cs
- LongSumAggregationOperator.cs
- ItemContainerGenerator.cs
- ClientType.cs
- ConnectionManager.cs
- XmlProcessingInstruction.cs
- DataGridViewColumnHeaderCell.cs
- PointCollectionConverter.cs
- DefaultBindingPropertyAttribute.cs
- ErasingStroke.cs
- RuntimeConfigurationRecord.cs
- XmlSerializer.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- TrackingStringDictionary.cs
- TableItemPatternIdentifiers.cs
- TypeExtension.cs
- Stream.cs
- MemoryMappedFile.cs
- FormClosingEvent.cs
- DocumentXPathNavigator.cs
- ArrangedElement.cs
- NumberFormatInfo.cs
- AdCreatedEventArgs.cs
- NameValueFileSectionHandler.cs
- JulianCalendar.cs
- GradientBrush.cs
- DrawToolTipEventArgs.cs
- StorageEntityContainerMapping.cs
- NavigationService.cs
- DBBindings.cs
- DecimalAnimationBase.cs
- WMIGenerator.cs
- HitTestResult.cs
- FixUp.cs
- XmlSchemaObjectTable.cs
- TimeZoneNotFoundException.cs
- SHA384.cs
- BindToObject.cs
- RouteItem.cs
- GlobalProxySelection.cs
- CommandID.cs
- BufferManager.cs
- Util.cs
- WindowsPrincipal.cs
- SqlFunctionAttribute.cs
- PackWebResponse.cs
- PageStatePersister.cs
- XmlAtomicValue.cs
- TextOutput.cs
- RawKeyboardInputReport.cs
- webproxy.cs
- RequestCachingSection.cs
- ReachFixedDocumentSerializer.cs
- Model3D.cs
- TrustSection.cs
- GridViewCommandEventArgs.cs
- ProfilePropertyMetadata.cs
- CodeIterationStatement.cs
- DatasetMethodGenerator.cs
- DataServices.cs
- filewebrequest.cs
- ServiceActivationException.cs
- MimeTypePropertyAttribute.cs
- TextSelectionProcessor.cs
- ExtensionQuery.cs
- SqlCachedBuffer.cs
- SequentialUshortCollection.cs
- HeaderFilter.cs
- ExpressionBuilderContext.cs
- Underline.cs
- IconBitmapDecoder.cs
- DependencySource.cs
- OleStrCAMarshaler.cs
- EnumMemberAttribute.cs
- DialogWindow.cs
- UniqueSet.cs
- IdnMapping.cs
- UIElement3D.cs
- transactioncontext.cs
- VersionedStreamOwner.cs
- MSAAWinEventWrap.cs
- SettingsContext.cs
- TranslateTransform3D.cs
- FlowLayoutPanel.cs