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
- VerificationException.cs
- ByteStreamMessageEncoderFactory.cs
- ProcessingInstructionAction.cs
- IISMapPath.cs
- EmptyEnumerable.cs
- XmlComplianceUtil.cs
- RewritingSimplifier.cs
- SwitchLevelAttribute.cs
- Typeface.cs
- SelectionItemProviderWrapper.cs
- QilInvokeLateBound.cs
- InlinedLocationReference.cs
- TextChange.cs
- SourceSwitch.cs
- PerformanceCounterManager.cs
- Composition.cs
- TransportSecurityHelpers.cs
- oledbmetadatacolumnnames.cs
- ConstraintEnumerator.cs
- XmlChoiceIdentifierAttribute.cs
- SwitchLevelAttribute.cs
- PrinterUnitConvert.cs
- UrlAuthorizationModule.cs
- XmlSchemaFacet.cs
- DataDocumentXPathNavigator.cs
- WebHttpBindingElement.cs
- TimeZone.cs
- MasterPageParser.cs
- SQLUtility.cs
- ValidationErrorCollection.cs
- RawStylusActions.cs
- Rijndael.cs
- AnnotationAdorner.cs
- GenericPrincipal.cs
- RenderingEventArgs.cs
- NavigationPropertyEmitter.cs
- ObjectCloneHelper.cs
- shaper.cs
- SHA1CryptoServiceProvider.cs
- CustomLineCap.cs
- InstanceCreationEditor.cs
- BindingExpression.cs
- MembershipValidatePasswordEventArgs.cs
- NetTcpBindingElement.cs
- CheckedPointers.cs
- ExtendedProtectionPolicyTypeConverter.cs
- ButtonFieldBase.cs
- CacheMemory.cs
- PartitionResolver.cs
- ConstraintStruct.cs
- QueueException.cs
- XPathCompileException.cs
- LazyTextWriterCreator.cs
- _ServiceNameStore.cs
- XmlProcessingInstruction.cs
- FileUpload.cs
- MouseButtonEventArgs.cs
- RequestContext.cs
- AdornerHitTestResult.cs
- TextSelectionHelper.cs
- HelloOperationCD1AsyncResult.cs
- ComAdminWrapper.cs
- IsolationInterop.cs
- RoleGroup.cs
- HorizontalAlignConverter.cs
- ShaperBuffers.cs
- SearchForVirtualItemEventArgs.cs
- xsdvalidator.cs
- PackWebRequestFactory.cs
- HostingEnvironmentSection.cs
- GridPatternIdentifiers.cs
- NamespaceMapping.cs
- MsmqInputChannelListenerBase.cs
- AttributeEmitter.cs
- Content.cs
- TypeGenericEnumerableViewSchema.cs
- SqlClientWrapperSmiStream.cs
- formatter.cs
- DataServiceHost.cs
- Matrix3DConverter.cs
- XmlSchemaSequence.cs
- TrustDriver.cs
- MostlySingletonList.cs
- CompileXomlTask.cs
- HttpInputStream.cs
- AtlasWeb.Designer.cs
- StrokeDescriptor.cs
- Application.cs
- _SafeNetHandles.cs
- SqlXmlStorage.cs
- InputLanguageSource.cs
- AtlasWeb.Designer.cs
- CapabilitiesState.cs
- XmlNode.cs
- GeometryHitTestResult.cs
- BmpBitmapDecoder.cs
- _SecureChannel.cs
- NameValueFileSectionHandler.cs
- PreApplicationStartMethodAttribute.cs
- BitmapSource.cs