Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / SMSvcHost / System / ServiceModel / Activation / ListenerConfig.cs / 1 / ListenerConfig.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Activation { using System.Collections.Generic; using System.Security.Principal; using System.Configuration; using System.Diagnostics; using System.ServiceModel.Diagnostics; using System.ServiceModel.Activation.Configuration; static class ListenerConfig { static object syncRoot = new object(); static NetTcpSectionData tcpData = null; static NetPipeSectionData pipeData = null; static bool diagnosticsSectionInited = false; static bool perfCountersEnabled = false; static object SyncRoot { get { return syncRoot; } } static void EnsureInitializedForDiagnostics() { if (!diagnosticsSectionInited) { lock (SyncRoot) { if (!diagnosticsSectionInited) { DiagnosticSection diag = DiagnosticSection.GetSection(); perfCountersEnabled = diag.PerformanceCountersEnabled; diagnosticsSectionInited = true; } } } } public static void EnsureInitializedForNetTcp() { EnsureInitializedForDiagnostics(); if (tcpData == null) { lock (SyncRoot) { if (tcpData == null) { tcpData = new NetTcpSectionData(); } } } if (DiagnosticUtility.ShouldTraceInformation) { DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.ReadNetTcpConfig, SR.GetString(SR.TraceCodeReadNetTcpConfig, tcpData.ListenBacklog, tcpData.MaxPendingConnections, tcpData.MaxPendingAccepts, tcpData.ReceiveTimeout, tcpData.TeredoEnabled)); } } public static void EnsureInitializedForNetPipe() { EnsureInitializedForDiagnostics(); if (pipeData == null) { lock (SyncRoot) { if (pipeData == null) { pipeData = new NetPipeSectionData(); } } } if (DiagnosticUtility.ShouldTraceInformation) { DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Information, TraceCode.ReadNetPipeConfig, SR.GetString(SR.TraceCodeReadNetPipeConfig, pipeData.MaxPendingConnections, pipeData.MaxPendingAccepts, pipeData.ReceiveTimeout)); } } public static NetTcpSectionData NetTcp { get { EnsureInitializedForNetTcp(); return tcpData; } } public static NetPipeSectionData NetPipe { get { EnsureInitializedForNetPipe(); return pipeData; } } public static bool PerformanceCountersEnabled { get { EnsureInitializedForDiagnostics(); return perfCountersEnabled; } } public static ListGetAllowAccounts(TransportType transportType) { if (transportType == TransportType.Tcp) { if (NetTcp.AllowAccounts.Count == 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.ConfigSectionHasZeroAllowAccounts, "NetTcpSection"))); } return NetTcp.AllowAccounts; } else if (transportType == TransportType.NamedPipe) { if (NetPipe.AllowAccounts.Count == 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR.GetString(SR.ConfigSectionHasZeroAllowAccounts, "NetPipeSection"))); } return NetPipe.AllowAccounts; } return null; } } } // 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
- ResourceCategoryAttribute.cs
- SuppressIldasmAttribute.cs
- SingleBodyParameterMessageFormatter.cs
- SiteIdentityPermission.cs
- BinaryObjectWriter.cs
- WebPartTracker.cs
- CheckPair.cs
- WindowsListView.cs
- Point4DConverter.cs
- GraphicsContext.cs
- ClientSponsor.cs
- ZipIOExtraFieldPaddingElement.cs
- WebPartCancelEventArgs.cs
- AppDomainInfo.cs
- ToolStripItem.cs
- PartialList.cs
- JsonSerializer.cs
- WorkflowViewManager.cs
- MultiBindingExpression.cs
- SqlDependency.cs
- CorrelationManager.cs
- SqlUserDefinedTypeAttribute.cs
- ProfileSettingsCollection.cs
- ScrollProperties.cs
- SystemIPv6InterfaceProperties.cs
- AnnotationMap.cs
- DataGridViewCellLinkedList.cs
- HtmlHistory.cs
- ButtonBaseAdapter.cs
- ListBoxItem.cs
- AccessText.cs
- AttributeCollection.cs
- SynchronizedPool.cs
- ListViewItemSelectionChangedEvent.cs
- FilterEventArgs.cs
- HybridDictionary.cs
- ElementMarkupObject.cs
- StaticSiteMapProvider.cs
- DescendantOverDescendantQuery.cs
- ExpressionList.cs
- SqlConnectionStringBuilder.cs
- BuilderPropertyEntry.cs
- SqlParameterCollection.cs
- SpeechSeg.cs
- HttpSysSettings.cs
- DrawToolTipEventArgs.cs
- WindowsToolbarAsMenu.cs
- TableLayoutPanelCellPosition.cs
- WorkflowMessageEventArgs.cs
- MergePropertyDescriptor.cs
- ListParaClient.cs
- InternalsVisibleToAttribute.cs
- DecoderFallbackWithFailureFlag.cs
- Simplifier.cs
- ProtocolViolationException.cs
- CacheSection.cs
- EventLog.cs
- CodeDOMProvider.cs
- Stroke.cs
- RightsManagementEncryptedStream.cs
- _NetRes.cs
- SqlBooleanizer.cs
- ContextCorrelationInitializer.cs
- Int32KeyFrameCollection.cs
- TextRange.cs
- PathFigureCollection.cs
- Popup.cs
- CriticalHandle.cs
- QueryExpr.cs
- BitmapEffectInputConnector.cs
- PrintDocument.cs
- ValueSerializerAttribute.cs
- ContentTextAutomationPeer.cs
- designeractionbehavior.cs
- ForceCopyBuildProvider.cs
- FolderBrowserDialog.cs
- SchemaInfo.cs
- dataprotectionpermission.cs
- MdiWindowListItemConverter.cs
- _ProxyChain.cs
- WhitespaceRuleReader.cs
- DataBoundControlParameterTarget.cs
- TextElementEditingBehaviorAttribute.cs
- StartFileNameEditor.cs
- AvTraceFormat.cs
- Deflater.cs
- UnsafeNativeMethodsPenimc.cs
- mediapermission.cs
- EditingMode.cs
- ParagraphResult.cs
- BoundingRectTracker.cs
- FileLevelControlBuilderAttribute.cs
- PresentationTraceSources.cs
- UdpSocketReceiveManager.cs
- XmlDesignerDataSourceView.cs
- FormatVersion.cs
- cryptoapiTransform.cs
- DescendantQuery.cs
- LogLogRecordHeader.cs
- WindowsSlider.cs