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
- SqlAliasesReferenced.cs
- GridViewSortEventArgs.cs
- ConnectionPoint.cs
- ISAPIWorkerRequest.cs
- SubMenuStyleCollection.cs
- SecurityDocument.cs
- CertificateManager.cs
- ScrollBarAutomationPeer.cs
- xmlfixedPageInfo.cs
- StorageComplexTypeMapping.cs
- OperationInvokerTrace.cs
- SqlReferenceCollection.cs
- WindowsSpinner.cs
- PlainXmlWriter.cs
- SupportsEventValidationAttribute.cs
- SequentialUshortCollection.cs
- RandomNumberGenerator.cs
- AssemblyCollection.cs
- SqlCommandSet.cs
- ToolBar.cs
- ProfileSettings.cs
- SetterBaseCollection.cs
- RadialGradientBrush.cs
- ElementFactory.cs
- PreviousTrackingServiceAttribute.cs
- BinaryExpressionHelper.cs
- MatrixAnimationUsingKeyFrames.cs
- Thread.cs
- IISUnsafeMethods.cs
- DocumentXmlWriter.cs
- ClientType.cs
- WebPartConnectionsCancelEventArgs.cs
- SecurityNegotiationException.cs
- JavaScriptSerializer.cs
- CatalogZone.cs
- WmiEventSink.cs
- QueryOutputWriter.cs
- KeyEventArgs.cs
- ListDesigner.cs
- DeclaredTypeValidatorAttribute.cs
- UriExt.cs
- DPTypeDescriptorContext.cs
- WinEventWrap.cs
- SubpageParaClient.cs
- TextCollapsingProperties.cs
- TaiwanLunisolarCalendar.cs
- Configuration.cs
- MulticastDelegate.cs
- DataObject.cs
- _KerberosClient.cs
- ObjectStateManagerMetadata.cs
- DesignerTransactionCloseEvent.cs
- DataGridViewCellParsingEventArgs.cs
- ExceptionHandlerDesigner.cs
- ObjectIDGenerator.cs
- CrossAppDomainChannel.cs
- BuildProvider.cs
- EncryptedKeyIdentifierClause.cs
- Path.cs
- NestedContainer.cs
- Wildcard.cs
- CustomSignedXml.cs
- PauseStoryboard.cs
- CodeDesigner.cs
- TransactionsSectionGroup.cs
- RootBrowserWindowProxy.cs
- TogglePatternIdentifiers.cs
- WindowsFormsHelpers.cs
- EntityDataSourceEntitySetNameItem.cs
- DynamicDataExtensions.cs
- ReflectionPermission.cs
- FrameworkElement.cs
- ConstructorExpr.cs
- DesignerSerializerAttribute.cs
- NavigationService.cs
- RunClient.cs
- SafeHandle.cs
- IPEndPoint.cs
- SessionStateSection.cs
- _ScatterGatherBuffers.cs
- CatalogZoneBase.cs
- TargetInvocationException.cs
- CounterSampleCalculator.cs
- Directory.cs
- WebPartMovingEventArgs.cs
- AssemblyNameProxy.cs
- SelectedDatesCollection.cs
- COM2ColorConverter.cs
- CompilerInfo.cs
- SafeEventLogWriteHandle.cs
- FontUnitConverter.cs
- Literal.cs
- GenericNameHandler.cs
- XmlDataSourceNodeDescriptor.cs
- BinaryParser.cs
- PropertyMapper.cs
- DataServiceRequestOfT.cs
- TypeInfo.cs
- MLangCodePageEncoding.cs
- FixedTextSelectionProcessor.cs