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
- DesignOnlyAttribute.cs
- EntityDataSourceColumn.cs
- TrustLevelCollection.cs
- InteropBitmapSource.cs
- UrlMappingsSection.cs
- BamlTreeNode.cs
- PrtCap_Public_Simple.cs
- IFlowDocumentViewer.cs
- SiteMapNode.cs
- Scene3D.cs
- DataKeyPropertyAttribute.cs
- QueryRewriter.cs
- SiteMapNode.cs
- MutexSecurity.cs
- IncrementalCompileAnalyzer.cs
- DropShadowBitmapEffect.cs
- LeaseManager.cs
- COSERVERINFO.cs
- Rect3D.cs
- SystemWebCachingSectionGroup.cs
- HandlerFactoryWrapper.cs
- TextBox.cs
- ArrayConverter.cs
- SqlErrorCollection.cs
- SqlClientMetaDataCollectionNames.cs
- MeasurementDCInfo.cs
- ACL.cs
- JoinElimination.cs
- InternalControlCollection.cs
- XmlDataDocument.cs
- DirectionalLight.cs
- SpeechEvent.cs
- BufferedMessageWriter.cs
- DeploymentSection.cs
- ModuleBuilderData.cs
- connectionpool.cs
- PropertyHelper.cs
- ReadingWritingEntityEventArgs.cs
- Models.cs
- ResolveMatchesMessageCD1.cs
- AncillaryOps.cs
- DependencySource.cs
- AssemblyInfo.cs
- NamespaceList.cs
- GridViewUpdatedEventArgs.cs
- WpfWebRequestHelper.cs
- ToolStripDropDownMenu.cs
- ListMarkerLine.cs
- _Connection.cs
- RequestCacheEntry.cs
- AutomationProperties.cs
- ValidationEventArgs.cs
- Int16Storage.cs
- UnsafeNativeMethods.cs
- MemberAssignmentAnalysis.cs
- LineBreakRecord.cs
- NameValueCollection.cs
- SimpleTextLine.cs
- ErrorTolerantObjectWriter.cs
- SecurityTokenResolver.cs
- Serializer.cs
- PaperSource.cs
- mactripleDES.cs
- ToggleButton.cs
- NodeLabelEditEvent.cs
- ProviderCollection.cs
- DetailsViewDeleteEventArgs.cs
- DocumentViewerHelper.cs
- TextClipboardData.cs
- WindowsRegion.cs
- ComEventsMethod.cs
- Partitioner.cs
- ExpressionEditor.cs
- InstanceDataCollectionCollection.cs
- ActivityInterfaces.cs
- TypeLoadException.cs
- KeyInterop.cs
- SQLMoney.cs
- EdmPropertyAttribute.cs
- DateTimePicker.cs
- QuaternionRotation3D.cs
- DesignerCategoryAttribute.cs
- messageonlyhwndwrapper.cs
- Transform3D.cs
- DockAndAnchorLayout.cs
- Rule.cs
- TreeViewAutomationPeer.cs
- _ListenerResponseStream.cs
- ComboBoxItem.cs
- DebugView.cs
- NamespaceImport.cs
- DBConnectionString.cs
- AnnotationResourceCollection.cs
- ObjectHandle.cs
- OperandQuery.cs
- HttpVersion.cs
- CodeTypeOfExpression.cs
- Int32Storage.cs
- GetKeyedHashRequest.cs
- ErrorTableItemStyle.cs