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
- ResXDataNode.cs
- DataColumnPropertyDescriptor.cs
- SqlWorkflowInstanceStore.cs
- DragCompletedEventArgs.cs
- FragmentNavigationEventArgs.cs
- UnitySerializationHolder.cs
- XmlAttributeCollection.cs
- SerializerProvider.cs
- LocalBuilder.cs
- InvalidDataException.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- OptimizedTemplateContentHelper.cs
- ApplyImportsAction.cs
- ClientRolePrincipal.cs
- PeerNameRecord.cs
- EntityWithChangeTrackerStrategy.cs
- XmlLoader.cs
- WebControlsSection.cs
- EndpointDiscoveryElement.cs
- ChangeTracker.cs
- SharedPerformanceCounter.cs
- ASCIIEncoding.cs
- EmbeddedMailObject.cs
- ProxyManager.cs
- MailMessage.cs
- ArrayExtension.cs
- PerspectiveCamera.cs
- BamlWriter.cs
- DrawListViewColumnHeaderEventArgs.cs
- TextSearch.cs
- EntityKeyElement.cs
- ReadContentAsBinaryHelper.cs
- ButtonField.cs
- LoginNameDesigner.cs
- GroupBoxAutomationPeer.cs
- SafeMILHandle.cs
- OptimizerPatterns.cs
- ConstantExpression.cs
- prompt.cs
- TemplateControlParser.cs
- EntityContainerEmitter.cs
- GridViewColumnHeader.cs
- TimeSpanStorage.cs
- SystemWebCachingSectionGroup.cs
- EntityParameter.cs
- ZipIOExtraFieldZip64Element.cs
- WebPartMinimizeVerb.cs
- TemplateControlParser.cs
- RedirectionProxy.cs
- _ScatterGatherBuffers.cs
- RemotingException.cs
- UdpChannelListener.cs
- SendKeys.cs
- ProviderConnectionPoint.cs
- BrowserCapabilitiesCodeGenerator.cs
- DataGridSortCommandEventArgs.cs
- TypeDescriptorFilterService.cs
- StrokeCollection.cs
- CharEnumerator.cs
- SerializationAttributes.cs
- EpmSourcePathSegment.cs
- DesignTable.cs
- KnownTypeHelper.cs
- PersonalizationEntry.cs
- DbModificationClause.cs
- HtmlTable.cs
- DebuggerAttributes.cs
- ContextMenu.cs
- ViewStateChangedEventArgs.cs
- DataGridViewComboBoxColumn.cs
- PatternMatcher.cs
- ControlBindingsCollection.cs
- CapabilitiesState.cs
- Context.cs
- ThreadSafeList.cs
- VectorAnimationBase.cs
- SQLInt64.cs
- RequestSecurityTokenForGetBrowserToken.cs
- Codec.cs
- BuiltInExpr.cs
- DataKeyArray.cs
- SafeIUnknown.cs
- XPathAncestorQuery.cs
- ButtonChrome.cs
- TreeView.cs
- DomainLiteralReader.cs
- SQLInt32.cs
- InternalSendMessage.cs
- HttpListenerResponse.cs
- PropertiesTab.cs
- Type.cs
- MachineKeySection.cs
- EntityUtil.cs
- TripleDESCryptoServiceProvider.cs
- WorkflowMarkupSerializationException.cs
- XmlSecureResolver.cs
- CheckedPointers.cs
- SqlDuplicator.cs
- mongolianshape.cs
- DataRowComparer.cs