Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / NamedPipeTransportManager.cs / 1 / NamedPipeTransportManager.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- namespace System.ServiceModel.Channels { using System; using System.ServiceModel; using System.Security.Principal; using System.Collections.Generic; abstract class NamedPipeTransportManager : ConnectionOrientedTransportManager, ITransportManagerRegistration { List allowedUsers; HostNameComparisonMode hostNameComparisonMode; Uri listenUri; protected NamedPipeTransportManager(Uri listenUri) { this.listenUri = listenUri; } protected void SetAllowedUsers(List allowedUsers) { this.allowedUsers = allowedUsers; } protected void SetHostNameComparisonMode(HostNameComparisonMode hostNameComparisonMode) { this.hostNameComparisonMode = hostNameComparisonMode; } internal List AllowedUsers { get { return this.allowedUsers; } } public HostNameComparisonMode HostNameComparisonMode { get { return this.hostNameComparisonMode; } protected set { HostNameComparisonModeHelper.Validate(value); lock (base.ThisLock) { ThrowIfOpen(); this.hostNameComparisonMode = value; } } } public Uri ListenUri { get { return this.listenUri; } } internal override string Scheme { get { return Uri.UriSchemeNetPipe; } } bool AreAllowedUsersEqual(List otherAllowedUsers) { return ((this.allowedUsers == otherAllowedUsers) || (IsSubset(this.allowedUsers, otherAllowedUsers) && IsSubset(otherAllowedUsers, this.allowedUsers))); } protected virtual bool IsCompatible(NamedPipeChannelListener channelListener) { if (channelListener.InheritBaseAddressSettings) { return true; } return ( base.IsCompatible(channelListener) && this.AreAllowedUsersEqual(channelListener.AllowedUsers) && (this.HostNameComparisonMode == channelListener.HostNameComparisonMode) ); } static bool IsSubset(List users1, List users2) { if (users1 == null) { return true; } foreach (SecurityIdentifier user in users1) { if (!users2.Contains(user)) { return false; } } return true; } internal override void OnClose() { NamedPipeChannelListener.StaticTransportManagerTable.UnregisterUri(this.ListenUri, this.HostNameComparisonMode); } protected virtual void OnSelecting(NamedPipeChannelListener channelListener) { } IList ITransportManagerRegistration.Select(TransportChannelListener channelListener) { OnSelecting((NamedPipeChannelListener)channelListener); IList result = null; if (this.IsCompatible((NamedPipeChannelListener)channelListener)) { result = new List (); result.Add(this); } return result; } } } // 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
- SegmentInfo.cs
- HtmlImage.cs
- smtppermission.cs
- XmlSchemaIdentityConstraint.cs
- RC2CryptoServiceProvider.cs
- Msec.cs
- FormViewUpdatedEventArgs.cs
- NotificationContext.cs
- DoubleConverter.cs
- Message.cs
- ColorTransformHelper.cs
- ObjectSet.cs
- SizeChangedEventArgs.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- HostProtectionPermission.cs
- Vector3DConverter.cs
- TranslateTransform.cs
- PrimitiveType.cs
- ImmComposition.cs
- UpdatePanel.cs
- DeclaredTypeElement.cs
- XsdDateTime.cs
- SimpleModelProvider.cs
- DataGridViewMethods.cs
- DomainUpDown.cs
- DesignTimeVisibleAttribute.cs
- DataGridViewCellStateChangedEventArgs.cs
- AssociativeAggregationOperator.cs
- WebServicesDescriptionAttribute.cs
- StoryFragments.cs
- ActivityTypeResolver.xaml.cs
- InternalSafeNativeMethods.cs
- GenericAuthenticationEventArgs.cs
- xmlglyphRunInfo.cs
- SerializableAttribute.cs
- StorageTypeMapping.cs
- BevelBitmapEffect.cs
- DesigntimeLicenseContextSerializer.cs
- SocketPermission.cs
- DataBinding.cs
- NativeObjectSecurity.cs
- DataGridViewImageCell.cs
- WsdlBuildProvider.cs
- TransactionTable.cs
- ModelItemCollection.cs
- ReferenceService.cs
- Rijndael.cs
- SecurityContextTokenCache.cs
- MetaType.cs
- XmlDataSource.cs
- PersonalizationAdministration.cs
- HttpDebugHandler.cs
- _NegoStream.cs
- PersonalizationStateQuery.cs
- PackWebResponse.cs
- ListInitExpression.cs
- Decoder.cs
- MatchingStyle.cs
- ArithmeticException.cs
- FontStyle.cs
- Config.cs
- VisualStates.cs
- MethodBuilderInstantiation.cs
- ErrorFormatterPage.cs
- HwndSource.cs
- ItemsPanelTemplate.cs
- DataGrid.cs
- BaseUriWithWildcard.cs
- HitTestWithGeometryDrawingContextWalker.cs
- DelegatedStream.cs
- DataStreamFromComStream.cs
- SR.cs
- DbTransaction.cs
- TextSimpleMarkerProperties.cs
- InvokeHandlers.cs
- ReadOnlyKeyedCollection.cs
- NavigationHelper.cs
- Image.cs
- GeometryDrawing.cs
- PackageFilter.cs
- updateconfighost.cs
- CompiledQuery.cs
- documentsequencetextcontainer.cs
- LinqDataSourceInsertEventArgs.cs
- DataSet.cs
- SmtpReplyReaderFactory.cs
- backend.cs
- ObjectPersistData.cs
- CallbackValidator.cs
- XmlQueryRuntime.cs
- SmtpClient.cs
- UnsafeNativeMethods.cs
- Constants.cs
- WindowProviderWrapper.cs
- BCryptNative.cs
- HelpOperationInvoker.cs
- SQLStringStorage.cs
- Content.cs
- CodeAssignStatement.cs
- SecureConversationDriver.cs