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 List GetAllowAccounts(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
- ContractsBCL.cs
- Constraint.cs
- PageThemeBuildProvider.cs
- FrugalMap.cs
- DataFieldConverter.cs
- SamlConstants.cs
- DataRowCollection.cs
- AuthenticationService.cs
- JoinGraph.cs
- BackStopAuthenticationModule.cs
- DefaultBindingPropertyAttribute.cs
- FileReservationCollection.cs
- BridgeDataReader.cs
- Encoding.cs
- DataFormats.cs
- TypeSystem.cs
- ParameterElement.cs
- TraceListeners.cs
- XmlSchemaAppInfo.cs
- XmlSerializer.cs
- BaseConfigurationRecord.cs
- ProviderConnectionPointCollection.cs
- ListParagraph.cs
- LambdaCompiler.Statements.cs
- TemplateControlBuildProvider.cs
- X509Chain.cs
- FixUpCollection.cs
- FixedDSBuilder.cs
- iisPickupDirectory.cs
- MetadataFile.cs
- MetadataCollection.cs
- ExplicitDiscriminatorMap.cs
- DataControlExtensions.cs
- Documentation.cs
- ExtendedProtectionPolicy.cs
- SecUtil.cs
- SystemIPInterfaceProperties.cs
- BinHexEncoder.cs
- QilFactory.cs
- TextEditorSpelling.cs
- TemplatePagerField.cs
- SplitterPanel.cs
- BackStopAuthenticationModule.cs
- DbParameterHelper.cs
- ExpressionPrinter.cs
- FormViewModeEventArgs.cs
- DecimalMinMaxAggregationOperator.cs
- _SslStream.cs
- Convert.cs
- StateMachineExecutionState.cs
- Parser.cs
- SchemaAttDef.cs
- RelationshipConstraintValidator.cs
- ContentFilePart.cs
- HtmlElementErrorEventArgs.cs
- AutomationPropertyInfo.cs
- DocumentPaginator.cs
- brushes.cs
- ConsoleKeyInfo.cs
- XmlNamedNodeMap.cs
- PermissionToken.cs
- DataControlField.cs
- PersistenceContextEnlistment.cs
- TriggerActionCollection.cs
- SortAction.cs
- TextElementCollection.cs
- StylusPointPropertyInfoDefaults.cs
- RangeBaseAutomationPeer.cs
- GetPageCompletedEventArgs.cs
- TypeLibConverter.cs
- documentsequencetextpointer.cs
- InvalidCastException.cs
- Logging.cs
- MetaModel.cs
- CompilerLocalReference.cs
- ContentPosition.cs
- Help.cs
- WsatServiceCertificate.cs
- SoapIgnoreAttribute.cs
- EasingFunctionBase.cs
- DrawingImage.cs
- GetPageCompletedEventArgs.cs
- BufferedStream.cs
- PolicyStatement.cs
- Constants.cs
- ReversePositionQuery.cs
- TraceSource.cs
- DLinqColumnProvider.cs
- DiagnosticsConfigurationHandler.cs
- MenuItem.cs
- TextBoxBase.cs
- ISFClipboardData.cs
- WebPartCatalogCloseVerb.cs
- xml.cs
- Section.cs
- DictionarySurrogate.cs
- MappedMetaModel.cs
- SemaphoreFullException.cs
- ScrollProperties.cs
- SqlTypesSchemaImporter.cs