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
- MD5HashHelper.cs
- TreeViewItem.cs
- NetWebProxyFinder.cs
- JpegBitmapDecoder.cs
- XmlEntityReference.cs
- RoleService.cs
- DataObjectEventArgs.cs
- PrintPreviewControl.cs
- TargetControlTypeAttribute.cs
- OdbcUtils.cs
- BlurEffect.cs
- RegexCompilationInfo.cs
- SqlDelegatedTransaction.cs
- DataRowExtensions.cs
- DictionaryContent.cs
- CheckBoxPopupAdapter.cs
- ButtonChrome.cs
- ArgumentException.cs
- QueryableDataSource.cs
- RestClientProxyHandler.cs
- TextLine.cs
- XPathBinder.cs
- FactoryRecord.cs
- PagesChangedEventArgs.cs
- MD5CryptoServiceProvider.cs
- FixedSOMContainer.cs
- Win32KeyboardDevice.cs
- HttpHandlerActionCollection.cs
- DataPager.cs
- EqualityComparer.cs
- FileIOPermission.cs
- ActivationServices.cs
- XmlSchemaSimpleType.cs
- GenericAuthenticationEventArgs.cs
- ScrollBarAutomationPeer.cs
- Encoding.cs
- XhtmlBasicLiteralTextAdapter.cs
- RectangleGeometry.cs
- ThicknessConverter.cs
- DisplayNameAttribute.cs
- UnhandledExceptionEventArgs.cs
- COM2ExtendedTypeConverter.cs
- ChannelManager.cs
- BitArray.cs
- FileLoadException.cs
- MatrixKeyFrameCollection.cs
- ProviderUtil.cs
- ToolboxItem.cs
- TypeInitializationException.cs
- LogExtent.cs
- Int16Animation.cs
- BStrWrapper.cs
- RemoveStoryboard.cs
- ItemsControlAutomationPeer.cs
- MetaType.cs
- SettingsPropertyIsReadOnlyException.cs
- WorkflowDesignerMessageFilter.cs
- WebPartZone.cs
- COM2IProvidePropertyBuilderHandler.cs
- SQLCharsStorage.cs
- AuthorizationRuleCollection.cs
- WebPartConnection.cs
- CompatibleIComparer.cs
- SqlMethodAttribute.cs
- PackageRelationshipCollection.cs
- XPathScanner.cs
- PartialCachingControl.cs
- DecimalConstantAttribute.cs
- SqlCrossApplyToCrossJoin.cs
- TableRowCollection.cs
- WCFModelStrings.Designer.cs
- WebPartMovingEventArgs.cs
- ThicknessKeyFrameCollection.cs
- PriorityBinding.cs
- WorkflowElementDialog.cs
- DbProviderManifest.cs
- CallbackException.cs
- WorkflowRuntimeBehavior.cs
- RuntimeVariableList.cs
- DiffuseMaterial.cs
- InlineCollection.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DbProviderConfigurationHandler.cs
- XamlBrushSerializer.cs
- ClientConfigurationSystem.cs
- DrawTreeNodeEventArgs.cs
- BroadcastEventHelper.cs
- WeakEventTable.cs
- SinglePageViewer.cs
- QualificationDataItem.cs
- FamilyTypeface.cs
- DataServiceQueryException.cs
- MethodBuilder.cs
- OSFeature.cs
- MailAddress.cs
- SecurityContextCookieSerializer.cs
- SystemUdpStatistics.cs
- DataGridViewButtonCell.cs
- WebZone.cs
- UndoEngine.cs