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
- ComponentTray.cs
- DateTimeConverter.cs
- _OverlappedAsyncResult.cs
- PeerService.cs
- FixUp.cs
- AssociationType.cs
- WsiProfilesElementCollection.cs
- ScaleTransform.cs
- ConnectionDemuxer.cs
- NativeMethodsOther.cs
- HttpResponseHeader.cs
- safemediahandle.cs
- HitTestWithGeometryDrawingContextWalker.cs
- PropertyNames.cs
- _ConnectStream.cs
- UpWmlPageAdapter.cs
- BaseCAMarshaler.cs
- WorkflowHostingEndpoint.cs
- GeometryValueSerializer.cs
- ArrayMergeHelper.cs
- XmlChildEnumerator.cs
- BamlReader.cs
- FacetEnabledSchemaElement.cs
- HostUtils.cs
- ValueType.cs
- ContractMapping.cs
- StateValidator.cs
- DataGridViewColumn.cs
- StaticSiteMapProvider.cs
- ConsoleTraceListener.cs
- CodePrimitiveExpression.cs
- RoutedEvent.cs
- ShadowGlyph.cs
- SHA1.cs
- BmpBitmapEncoder.cs
- SafeProcessHandle.cs
- PeerApplication.cs
- ForeignKeyConstraint.cs
- HMACRIPEMD160.cs
- _BasicClient.cs
- Enum.cs
- DescendentsWalkerBase.cs
- MachineKeyValidationConverter.cs
- StreamGeometryContext.cs
- DataServiceKeyAttribute.cs
- OrderByQueryOptionExpression.cs
- ProtocolViolationException.cs
- ListViewPagedDataSource.cs
- ListViewItemSelectionChangedEvent.cs
- ListItemCollection.cs
- CultureInfo.cs
- SpnEndpointIdentityExtension.cs
- CompositeDataBoundControl.cs
- WindowsToolbarAsMenu.cs
- CursorConverter.cs
- Link.cs
- SortDescription.cs
- EntitySetBaseCollection.cs
- BackgroundWorker.cs
- InkPresenterAutomationPeer.cs
- SqlConnectionFactory.cs
- BoundField.cs
- MethodToken.cs
- QilReplaceVisitor.cs
- ClientRuntimeConfig.cs
- HierarchicalDataSourceControl.cs
- TableLayoutPanel.cs
- WebControlToolBoxItem.cs
- SqlConnectionHelper.cs
- FilterEventArgs.cs
- DesignerCategoryAttribute.cs
- GorillaCodec.cs
- HtmlLink.cs
- URLMembershipCondition.cs
- OfTypeExpression.cs
- PenLineCapValidation.cs
- TimelineCollection.cs
- AppModelKnownContentFactory.cs
- CopyNodeSetAction.cs
- ControllableStoryboardAction.cs
- Switch.cs
- InputMethodStateChangeEventArgs.cs
- ScriptResourceHandler.cs
- CrossSiteScriptingValidation.cs
- _BasicClient.cs
- QueueProcessor.cs
- _PooledStream.cs
- FlowDocumentScrollViewer.cs
- CompoundFileIOPermission.cs
- TypeInfo.cs
- InsufficientMemoryException.cs
- WindowsGraphicsCacheManager.cs
- UIAgentMonitor.cs
- RSACryptoServiceProvider.cs
- GetLedgerRequest.cs
- HostProtectionException.cs
- PackageDigitalSignatureManager.cs
- ScaleTransform3D.cs
- DiagnosticsElement.cs
- UnionCodeGroup.cs