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
- AppDomainGrammarProxy.cs
- CheckBoxPopupAdapter.cs
- DiscoveryClientRequestChannel.cs
- Point3DKeyFrameCollection.cs
- ByteStorage.cs
- DataGridViewSelectedColumnCollection.cs
- ConfigXmlDocument.cs
- Compiler.cs
- DataGridCellInfo.cs
- Visitor.cs
- FileDialog.cs
- EventHandlerService.cs
- IndexedEnumerable.cs
- ChannelHandler.cs
- ListViewGroupItemCollection.cs
- ToolStripSettings.cs
- SiblingIterators.cs
- PropertyDescriptor.cs
- XmlElementCollection.cs
- XmlnsCache.cs
- TempFiles.cs
- RubberbandSelector.cs
- ResponseStream.cs
- SystemThemeKey.cs
- DataTableReaderListener.cs
- CultureTableRecord.cs
- ContentDisposition.cs
- IntAverageAggregationOperator.cs
- Stylesheet.cs
- ColorPalette.cs
- DefaultIfEmptyQueryOperator.cs
- FormCollection.cs
- CommandField.cs
- CodeExpressionStatement.cs
- DataPager.cs
- SchemeSettingElementCollection.cs
- AuthenticationModuleElementCollection.cs
- URI.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- DoubleIndependentAnimationStorage.cs
- DesignerLoader.cs
- FileDetails.cs
- ValueHandle.cs
- ObjectItemAttributeAssemblyLoader.cs
- TextEditorCopyPaste.cs
- AppLevelCompilationSectionCache.cs
- Constraint.cs
- PathGeometry.cs
- UserControlParser.cs
- CustomCategoryAttribute.cs
- DataGridViewColumnCollection.cs
- PeerNameResolver.cs
- KeyBinding.cs
- PriorityRange.cs
- MembershipValidatePasswordEventArgs.cs
- FactoryRecord.cs
- precedingsibling.cs
- SslStreamSecurityUpgradeProvider.cs
- SqlProcedureAttribute.cs
- RegexCapture.cs
- AmbientLight.cs
- InstanceLockQueryResult.cs
- Gdiplus.cs
- GenericUriParser.cs
- Internal.cs
- DesignBindingValueUIHandler.cs
- RelationshipEndMember.cs
- SslStream.cs
- PauseStoryboard.cs
- ObjectSpanRewriter.cs
- SmiRequestExecutor.cs
- Queue.cs
- BinaryWriter.cs
- PropertyGroupDescription.cs
- FixedPageAutomationPeer.cs
- MailHeaderInfo.cs
- ApplicationProxyInternal.cs
- PartialList.cs
- Tile.cs
- DescendantOverDescendantQuery.cs
- XmlCountingReader.cs
- LicenseProviderAttribute.cs
- ClientData.cs
- Substitution.cs
- StylusPlugin.cs
- RuntimeComponentFilter.cs
- Animatable.cs
- SoapCodeExporter.cs
- Composition.cs
- ApplicationSecurityInfo.cs
- ToolStripRenderEventArgs.cs
- DataTableClearEvent.cs
- TypeInitializationException.cs
- EventLogPermission.cs
- TraceContext.cs
- ProjectionCamera.cs
- ValidationErrorEventArgs.cs
- _CacheStreams.cs
- MediaScriptCommandRoutedEventArgs.cs
- XsltSettings.cs