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
- DataServiceRequestException.cs
- DataGridViewCellMouseEventArgs.cs
- PolicyManager.cs
- Deserializer.cs
- HealthMonitoringSectionHelper.cs
- ConfigurationManagerHelperFactory.cs
- AddInActivator.cs
- StringResourceManager.cs
- EdmFunction.cs
- PolicyLevel.cs
- PointConverter.cs
- AssemblyHash.cs
- DesignerActionTextItem.cs
- ApplicationServiceHelper.cs
- CancellationHandlerDesigner.cs
- IISUnsafeMethods.cs
- ParserContext.cs
- AssemblyAssociatedContentFileAttribute.cs
- DBDataPermissionAttribute.cs
- QilList.cs
- GridViewRowPresenterBase.cs
- sqlcontext.cs
- XNodeNavigator.cs
- SystemException.cs
- OleDbParameter.cs
- EntityViewGenerationConstants.cs
- FileChangesMonitor.cs
- CssClassPropertyAttribute.cs
- Translator.cs
- Parameter.cs
- NamespaceMapping.cs
- codemethodreferenceexpression.cs
- CoTaskMemSafeHandle.cs
- TdsParserSafeHandles.cs
- ApplyHostConfigurationBehavior.cs
- OpCodes.cs
- ScrollProperties.cs
- RegexGroupCollection.cs
- ParameterBuilder.cs
- WebPartZoneBase.cs
- MultipartIdentifier.cs
- WebServiceParameterData.cs
- EventBuilder.cs
- Image.cs
- WebPartConnectionsCloseVerb.cs
- CodeBlockBuilder.cs
- DataSourceXmlElementAttribute.cs
- ReturnType.cs
- SafeCryptoHandles.cs
- HasCopySemanticsAttribute.cs
- RelatedCurrencyManager.cs
- Speller.cs
- CodeTryCatchFinallyStatement.cs
- storepermission.cs
- EventItfInfo.cs
- Main.cs
- FolderLevelBuildProviderCollection.cs
- RepeatButtonAutomationPeer.cs
- VideoDrawing.cs
- log.cs
- Gdiplus.cs
- WinFormsComponentEditor.cs
- LogExtentCollection.cs
- IndependentAnimationStorage.cs
- InputScopeAttribute.cs
- ToolStripItemTextRenderEventArgs.cs
- SoapRpcMethodAttribute.cs
- DataGridColumn.cs
- EdmValidator.cs
- Control.cs
- InputBuffer.cs
- PartitionerQueryOperator.cs
- DataGridViewAccessibleObject.cs
- ReachPageContentSerializer.cs
- System.Data.OracleClient_BID.cs
- ImageList.cs
- Opcode.cs
- ObservableCollection.cs
- InheritanceContextChangedEventManager.cs
- ClientSettingsStore.cs
- Win32MouseDevice.cs
- ProviderConnectionPoint.cs
- IDictionary.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- Int32Rect.cs
- CodeLinePragma.cs
- GraphicsPath.cs
- _HTTPDateParse.cs
- UpdateManifestForBrowserApplication.cs
- EmissiveMaterial.cs
- Point4D.cs
- ClientFormsAuthenticationCredentials.cs
- Header.cs
- PageMediaSize.cs
- IdSpace.cs
- ToolStripComboBox.cs
- CompositeCollectionView.cs
- KeyToListMap.cs
- ComponentCollection.cs
- CodeBinaryOperatorExpression.cs