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
- AppSettingsExpressionEditor.cs
- GeneralTransform3DGroup.cs
- SendSecurityHeader.cs
- WebPartDescriptionCollection.cs
- TextServicesCompartmentContext.cs
- DateTimeOffset.cs
- DataShape.cs
- MessageEncoderFactory.cs
- CngAlgorithmGroup.cs
- AudioBase.cs
- PolicyException.cs
- BoundsDrawingContextWalker.cs
- WindowInteractionStateTracker.cs
- ControlUtil.cs
- OdbcConnectionPoolProviderInfo.cs
- XmlSchemaNotation.cs
- ToolStripManager.cs
- PasswordRecovery.cs
- MetadataWorkspace.cs
- ToolStripControlHost.cs
- SqlInternalConnectionSmi.cs
- TabletDeviceInfo.cs
- SqlCacheDependencyDatabase.cs
- TextServicesDisplayAttribute.cs
- ScrollProviderWrapper.cs
- XmlILTrace.cs
- WebPartMenuStyle.cs
- PathSegment.cs
- PassportIdentity.cs
- SqlDataSourceFilteringEventArgs.cs
- MaterialGroup.cs
- DBPropSet.cs
- _IPv6Address.cs
- ListViewGroup.cs
- PointCollectionConverter.cs
- DrawingAttributesDefaultValueFactory.cs
- DbConnectionPoolGroup.cs
- SignatureConfirmations.cs
- Literal.cs
- TypeDefinition.cs
- ListMarkerSourceInfo.cs
- XmlAttributeHolder.cs
- SpoolingTask.cs
- PointAnimationBase.cs
- MemoryStream.cs
- ImageListDesigner.cs
- KnownAssemblyEntry.cs
- Matrix.cs
- ByteStreamMessageUtility.cs
- ZipIOExtraFieldZip64Element.cs
- InlineObject.cs
- DataRowCollection.cs
- MailMessage.cs
- BatchServiceHost.cs
- SamlSubjectStatement.cs
- BrowserDefinitionCollection.cs
- FrameSecurityDescriptor.cs
- ObjectStateFormatter.cs
- SchemaTableColumn.cs
- WebBrowserHelper.cs
- MappingSource.cs
- PagedDataSource.cs
- PriorityQueue.cs
- FrameworkElementFactoryMarkupObject.cs
- ObjRef.cs
- Fonts.cs
- ActivityCodeDomSerializer.cs
- PassportAuthenticationEventArgs.cs
- JsonDataContract.cs
- StrokeRenderer.cs
- LambdaCompiler.Statements.cs
- ProjectionPlan.cs
- MultiByteCodec.cs
- IsolatedStorageFileStream.cs
- DataGridViewRowCollection.cs
- ResourceIDHelper.cs
- DataDocumentXPathNavigator.cs
- WebSysDisplayNameAttribute.cs
- TypeNameConverter.cs
- BamlRecordReader.cs
- MaterializeFromAtom.cs
- EventToken.cs
- RegexRunner.cs
- Literal.cs
- SessionPageStatePersister.cs
- SmiContextFactory.cs
- MutexSecurity.cs
- WebResourceUtil.cs
- ElementNotAvailableException.cs
- MimeMapping.cs
- IDReferencePropertyAttribute.cs
- AutoResetEvent.cs
- DataBoundControlParameterTarget.cs
- Process.cs
- NumberSubstitution.cs
- HasActivatableWorkflowEvent.cs
- DeploymentExceptionMapper.cs
- Parameter.cs
- BitHelper.cs
- FileUtil.cs