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
- ContentValidator.cs
- DbProviderFactory.cs
- WSFederationHttpSecurityMode.cs
- FormsAuthentication.cs
- BindingCompleteEventArgs.cs
- GridViewRow.cs
- SqlTriggerContext.cs
- Claim.cs
- LiteralLink.cs
- Event.cs
- WebPartConnectionCollection.cs
- EditorAttribute.cs
- WebPartDisplayModeCollection.cs
- NumericPagerField.cs
- SharedStatics.cs
- EventLogException.cs
- SqlDataSourceSelectingEventArgs.cs
- CompressStream.cs
- XmlSerializerSection.cs
- ThreadAttributes.cs
- SkinBuilder.cs
- HttpRawResponse.cs
- WinCategoryAttribute.cs
- PreviewPageInfo.cs
- FormattedTextSymbols.cs
- ComponentEditorPage.cs
- TypefaceMap.cs
- ListViewUpdateEventArgs.cs
- ListItemViewControl.cs
- RoleService.cs
- XmlSerializationReader.cs
- CompilerHelpers.cs
- CalendarDay.cs
- SqlLiftIndependentRowExpressions.cs
- DataRow.cs
- UITypeEditor.cs
- SyndicationPerson.cs
- DesignerRegion.cs
- HwndAppCommandInputProvider.cs
- _CacheStreams.cs
- GCHandleCookieTable.cs
- SqlXml.cs
- LinearQuaternionKeyFrame.cs
- securitymgrsite.cs
- MaskedTextBoxTextEditor.cs
- DbProviderFactoriesConfigurationHandler.cs
- IntSecurity.cs
- SystemDropShadowChrome.cs
- FactoryId.cs
- FormViewPagerRow.cs
- XmlNode.cs
- GridViewColumnHeaderAutomationPeer.cs
- ApplicationId.cs
- WebRequest.cs
- PartitionedStream.cs
- SwitchAttribute.cs
- DataGridState.cs
- CodeDomSerializer.cs
- SemanticResolver.cs
- ErrorWebPart.cs
- GridViewDeleteEventArgs.cs
- PkcsUtils.cs
- COM2FontConverter.cs
- AutoCompleteStringCollection.cs
- PolyQuadraticBezierSegment.cs
- AvTraceDetails.cs
- RankException.cs
- WebPartDescriptionCollection.cs
- EntityDataSourceDesigner.cs
- TreeNodeBindingCollection.cs
- DebugViewWriter.cs
- OutOfProcStateClientManager.cs
- ExecutedRoutedEventArgs.cs
- DesignerExtenders.cs
- CodeMethodReturnStatement.cs
- XmlSchemas.cs
- XamlTypeMapper.cs
- HttpModuleActionCollection.cs
- ReadOnlyDictionary.cs
- Evidence.cs
- XmlSchemaAttribute.cs
- OleDbCommand.cs
- PaintEvent.cs
- oledbconnectionstring.cs
- DispatcherHooks.cs
- CutCopyPasteHelper.cs
- ContentHostHelper.cs
- SQLInt16.cs
- XPathCompiler.cs
- ListSurrogate.cs
- OrderByExpression.cs
- SecurityKeyType.cs
- ListViewItemEventArgs.cs
- RepeatBehaviorConverter.cs
- FileInfo.cs
- DataGridLinkButton.cs
- ContentHostHelper.cs
- TypeToken.cs
- SqlFormatter.cs
- ListViewTableCell.cs