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
- MemberAccessException.cs
- DBCSCodePageEncoding.cs
- clipboard.cs
- Events.cs
- NamedPipeTransportSecurity.cs
- LoginName.cs
- CompoundFileReference.cs
- PropVariant.cs
- NullReferenceException.cs
- TextEditorDragDrop.cs
- RankException.cs
- SoapInteropTypes.cs
- AppDomain.cs
- SkinIDTypeConverter.cs
- MethodExpr.cs
- LineServicesRun.cs
- ToolStripScrollButton.cs
- QilChoice.cs
- IntegerValidator.cs
- OdbcParameter.cs
- DoubleIndependentAnimationStorage.cs
- dtdvalidator.cs
- MessagePropertyVariants.cs
- SchemaImporter.cs
- IgnoreSection.cs
- XmlKeywords.cs
- CommonServiceBehaviorElement.cs
- BitmapCodecInfoInternal.cs
- PromptStyle.cs
- WorkflowPageSetupDialog.cs
- StringCollection.cs
- ResourceExpression.cs
- DocumentPage.cs
- AttributeCollection.cs
- PictureBox.cs
- Baml2006KeyRecord.cs
- MailWebEventProvider.cs
- Button.cs
- ImageMap.cs
- SchemaImporterExtension.cs
- AbandonedMutexException.cs
- AVElementHelper.cs
- Brushes.cs
- XmlMapping.cs
- CommonGetThemePartSize.cs
- EntityDataSourceContextCreatingEventArgs.cs
- TabItemWrapperAutomationPeer.cs
- Error.cs
- PackageRelationship.cs
- ResourcePermissionBase.cs
- ToolboxItem.cs
- MultiBinding.cs
- QilExpression.cs
- FormClosedEvent.cs
- ListViewAutomationPeer.cs
- TextServicesDisplayAttributePropertyRanges.cs
- ProviderException.cs
- SharedUtils.cs
- ComponentGuaranteesAttribute.cs
- LineInfo.cs
- EncodingInfo.cs
- ExpressionBuilder.cs
- SimpleRecyclingCache.cs
- TextSerializer.cs
- PackageDigitalSignature.cs
- ColorConvertedBitmap.cs
- LinearGradientBrush.cs
- XmlSerializerSection.cs
- precedingsibling.cs
- securitycriticaldataClass.cs
- ErrorWebPart.cs
- Profiler.cs
- AxisAngleRotation3D.cs
- DataGridViewTextBoxEditingControl.cs
- KnownBoxes.cs
- SapiGrammar.cs
- IFlowDocumentViewer.cs
- InputLangChangeEvent.cs
- DurationConverter.cs
- IpcManager.cs
- _StreamFramer.cs
- Converter.cs
- BaseCollection.cs
- LinkTarget.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- SaveWorkflowAsyncResult.cs
- Events.cs
- AttributeAction.cs
- AlternateView.cs
- AlphabeticalEnumConverter.cs
- SettingsProviderCollection.cs
- PointAnimationBase.cs
- AnimationException.cs
- PopupEventArgs.cs
- ResourceExpression.cs
- ProviderMetadata.cs
- FixUp.cs
- ClientConvert.cs
- InvariantComparer.cs
- Argument.cs