Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / NamedPipeTransportBindingElement.cs / 1 / NamedPipeTransportBindingElement.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.ServiceModel.Activation; using System.Collections.Generic; using System.Net.Security; using System.Security.Principal; using System.Runtime.Serialization; using System.Xml; public class NamedPipeTransportBindingElement : ConnectionOrientedTransportBindingElement { ListallowedUsers; NamedPipeConnectionPoolSettings connectionPoolSettings = new NamedPipeConnectionPoolSettings(); public NamedPipeTransportBindingElement() : base() { } protected NamedPipeTransportBindingElement(NamedPipeTransportBindingElement elementToBeCloned) : base(elementToBeCloned) { if (elementToBeCloned.allowedUsers != null) { this.allowedUsers = new List (elementToBeCloned.AllowedUsers.Count); foreach (SecurityIdentifier id in elementToBeCloned.allowedUsers) { this.allowedUsers.Add(id); } } this.connectionPoolSettings = elementToBeCloned.connectionPoolSettings.Clone(); } // Used by SMSvcHost (see Activation\SharingService.cs) internal List AllowedUsers { get { return this.allowedUsers; } set { this.allowedUsers = value; } } public NamedPipeConnectionPoolSettings ConnectionPoolSettings { get { return this.connectionPoolSettings; } } public override string Scheme { get { return "net.pipe"; } } internal override string WsdlTransportUri { get { return TransportPolicyConstants.NamedPipeTransportUri; } } public override BindingElement Clone() { return new NamedPipeTransportBindingElement(this); } public override IChannelFactory BuildChannelFactory (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if(!this.CanBuildChannelFactory (context)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } return (IChannelFactory )(object)new NamedPipeChannelFactory (this, context); } public override IChannelListener BuildChannelListener (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (!this.CanBuildChannelListener (context)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } NamedPipeChannelListener listener; if (typeof(TChannel) == typeof(IReplyChannel)) { listener = new NamedPipeReplyChannelListener(this, context); } else if (typeof(TChannel) == typeof(IDuplexSessionChannel)) { listener = new NamedPipeDuplexChannelListener(this, context); } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } VirtualPathExtension.ApplyHostedContext(listener, context); return (IChannelListener )(object)listener; } public override T GetProperty (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (typeof(T) == typeof(IBindingDeliveryCapabilities)) { return (T)(object)new BindingDeliveryCapabilitiesHelper(); } else { return base.GetProperty (context); } } internal override bool IsMatch(BindingElement b) { if (!base.IsMatch(b)) { return false; } NamedPipeTransportBindingElement namedPipe = b as NamedPipeTransportBindingElement; if (namedPipe == null) { return false; } if (!this.ConnectionPoolSettings.IsMatch(namedPipe.ConnectionPoolSettings)) { return false; } return true; } class BindingDeliveryCapabilitiesHelper : IBindingDeliveryCapabilities { internal BindingDeliveryCapabilitiesHelper() { } bool IBindingDeliveryCapabilities.AssuresOrderedDelivery { get { return true; } } bool IBindingDeliveryCapabilities.QueuedDelivery { get { return false; } } } } } // 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
- BasicKeyConstraint.cs
- DefaultAsyncDataDispatcher.cs
- HtmlButton.cs
- ClientConfigurationSystem.cs
- FormsIdentity.cs
- FormsAuthenticationTicket.cs
- FieldNameLookup.cs
- EncryptedPackage.cs
- Console.cs
- messageonlyhwndwrapper.cs
- TrackingMemoryStreamFactory.cs
- contentDescriptor.cs
- SchemaMapping.cs
- Graph.cs
- InstanceDescriptor.cs
- ProfileSettings.cs
- BitmapEffectDrawingContent.cs
- ISAPIRuntime.cs
- TypeToArgumentTypeConverter.cs
- AuthenticatedStream.cs
- VarInfo.cs
- MapPathBasedVirtualPathProvider.cs
- ReachObjectContext.cs
- CustomDictionarySources.cs
- ProfileGroupSettingsCollection.cs
- PaperSize.cs
- CodeAccessSecurityEngine.cs
- ExceptionUtil.cs
- PrintControllerWithStatusDialog.cs
- ADMembershipUser.cs
- PageAsyncTask.cs
- ProcessHostFactoryHelper.cs
- ObjectConverter.cs
- ProxyWebPartConnectionCollection.cs
- Rotation3DKeyFrameCollection.cs
- DeclarativeExpressionConditionDeclaration.cs
- Cursors.cs
- HtmlHead.cs
- TextServicesProperty.cs
- Point.cs
- SoapCodeExporter.cs
- SecurityCriticalDataForSet.cs
- TransactionsSectionGroup.cs
- SqlExpressionNullability.cs
- SmtpDigestAuthenticationModule.cs
- InstanceCreationEditor.cs
- RectangleConverter.cs
- AlgoModule.cs
- MultipleCopiesCollection.cs
- cache.cs
- XmlSerializerOperationBehavior.cs
- BeginEvent.cs
- SettingsAttributeDictionary.cs
- ExpandCollapsePattern.cs
- TextAutomationPeer.cs
- CompensateDesigner.cs
- BuildManager.cs
- ReaderWriterLockWrapper.cs
- _SafeNetHandles.cs
- Encoder.cs
- DynamicControlParameter.cs
- DataGridRow.cs
- LayoutInformation.cs
- EnvelopedPkcs7.cs
- DbException.cs
- SplitterDesigner.cs
- DataContractJsonSerializer.cs
- SerialPinChanges.cs
- EntityTypeEmitter.cs
- ValueTypePropertyReference.cs
- BufferModeSettings.cs
- RuntimeTrackingProfile.cs
- XmlSchemaParticle.cs
- ObjectConverter.cs
- ClassicBorderDecorator.cs
- UIElementIsland.cs
- NavigationCommands.cs
- QilTernary.cs
- SizeAnimationBase.cs
- TdsRecordBufferSetter.cs
- TextTreeTextNode.cs
- UidManager.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- PartialTrustVisibleAssembliesSection.cs
- BindingSource.cs
- ObjectNotFoundException.cs
- XmlArrayItemAttributes.cs
- IsolationInterop.cs
- CanExecuteRoutedEventArgs.cs
- DataGridViewIntLinkedList.cs
- StrongNamePublicKeyBlob.cs
- PropertyReferenceSerializer.cs
- PtsHost.cs
- CodeSpit.cs
- GregorianCalendarHelper.cs
- DictionaryBase.cs
- ParagraphVisual.cs
- BmpBitmapEncoder.cs
- EntryPointNotFoundException.cs
- _ListenerAsyncResult.cs