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
- NavigationHelper.cs
- ListenerChannelContext.cs
- LayoutEngine.cs
- DesignParameter.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- WorkflowEventArgs.cs
- CalendarDay.cs
- StdRegProviderWrapper.cs
- DocumentReferenceCollection.cs
- DbMetaDataCollectionNames.cs
- WebPartConnection.cs
- FileInfo.cs
- WebPartEditVerb.cs
- IconEditor.cs
- CodeGen.cs
- CqlLexer.cs
- SamlConditions.cs
- TextChangedEventArgs.cs
- AssociationSetEnd.cs
- SmtpNetworkElement.cs
- BitmapEffectGroup.cs
- Condition.cs
- Parsers.cs
- BitmapMetadataEnumerator.cs
- DataGridViewColumn.cs
- SharedStream.cs
- FunctionUpdateCommand.cs
- OleDbException.cs
- FileSystemEventArgs.cs
- PointHitTestParameters.cs
- SizeChangedEventArgs.cs
- Membership.cs
- CapabilitiesAssignment.cs
- ActivityBindForm.cs
- TransformerInfo.cs
- ThemeableAttribute.cs
- DummyDataSource.cs
- PointCollectionValueSerializer.cs
- HtmlEncodedRawTextWriter.cs
- ColorContextHelper.cs
- OleDbDataReader.cs
- HMAC.cs
- PixelFormats.cs
- MediaContextNotificationWindow.cs
- ThreadInterruptedException.cs
- ExpressionCopier.cs
- SecurityCapabilities.cs
- ProfilePropertyMetadata.cs
- ScriptingWebServicesSectionGroup.cs
- BinaryMethodMessage.cs
- TextRangeSerialization.cs
- CharacterHit.cs
- PermissionListSet.cs
- SortKey.cs
- Win32Exception.cs
- ComAwareEventInfo.cs
- Itemizer.cs
- CommandID.cs
- RequiredAttributeAttribute.cs
- ImageField.cs
- LineSegment.cs
- KeyedCollection.cs
- AutomationEventArgs.cs
- WpfKnownMember.cs
- NotifyCollectionChangedEventArgs.cs
- StrokeNodeData.cs
- ResolveNameEventArgs.cs
- DataTableClearEvent.cs
- PerformanceCounterPermissionEntry.cs
- HttpConfigurationSystem.cs
- ModelUIElement3D.cs
- WebContext.cs
- printdlgexmarshaler.cs
- AncillaryOps.cs
- PeerUnsafeNativeMethods.cs
- DesignerView.cs
- XPathSelectionIterator.cs
- TextSelectionProcessor.cs
- LinqDataSourceContextEventArgs.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- Point4D.cs
- hwndwrapper.cs
- ResourceDisplayNameAttribute.cs
- XmlSchemaInfo.cs
- NameSpaceEvent.cs
- SqlRowUpdatingEvent.cs
- QueryableFilterRepeater.cs
- SoapExtensionTypeElement.cs
- EntityDesignerUtils.cs
- SoapTypeAttribute.cs
- DataGridViewCellParsingEventArgs.cs
- ApplicationException.cs
- LocalizationComments.cs
- WindowsProgressbar.cs
- MaterialCollection.cs
- Queue.cs
- XmlWellformedWriter.cs
- ProjectionPlanCompiler.cs
- AlternateViewCollection.cs
- HeaderUtility.cs