Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / TransportContext.cs / 1305376 / TransportContext.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Net.Security; using System.Security.Authentication.ExtendedProtection; namespace System.Net { public abstract class TransportContext { public abstract ChannelBinding GetChannelBinding(ChannelBindingKind kind); } internal class ConnectStreamContext : TransportContext { internal ConnectStreamContext(ConnectStream connectStream) { GlobalLog.Assert(connectStream != null, "ConnectStreamContext..ctor(): Not expecting a null connectStream!"); this.connectStream = connectStream; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { return connectStream.GetChannelBinding(kind); } private ConnectStream connectStream; } internal class SslStreamContext : TransportContext { internal SslStreamContext(SslStream sslStream) { GlobalLog.Assert(sslStream != null, "SslStreamContext..ctor(): Not expecting a null sslStream!"); this.sslStream = sslStream; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { return sslStream.GetChannelBinding(kind); } private SslStream sslStream; } internal class HttpListenerRequestContext : TransportContext { internal HttpListenerRequestContext(HttpListenerRequest request) { GlobalLog.Assert(request != null, "HttpListenerRequestContext..ctor(): Not expecting a null request!"); this.request = request; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { if (kind != ChannelBindingKind.Endpoint) { throw new NotSupportedException(SR.GetString( SR.net_listener_invalid_cbt_type, kind.ToString())); } return request.GetChannelBinding(); } private HttpListenerRequest request; } // Holds a cached Endpoint binding to be reused by HttpWebRequest preauthentication internal class CachedTransportContext : TransportContext { internal CachedTransportContext(ChannelBinding binding) { this.binding = binding; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { if (kind != ChannelBindingKind.Endpoint) return null; return binding; } private ChannelBinding binding; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Net.Security; using System.Security.Authentication.ExtendedProtection; namespace System.Net { public abstract class TransportContext { public abstract ChannelBinding GetChannelBinding(ChannelBindingKind kind); } internal class ConnectStreamContext : TransportContext { internal ConnectStreamContext(ConnectStream connectStream) { GlobalLog.Assert(connectStream != null, "ConnectStreamContext..ctor(): Not expecting a null connectStream!"); this.connectStream = connectStream; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { return connectStream.GetChannelBinding(kind); } private ConnectStream connectStream; } internal class SslStreamContext : TransportContext { internal SslStreamContext(SslStream sslStream) { GlobalLog.Assert(sslStream != null, "SslStreamContext..ctor(): Not expecting a null sslStream!"); this.sslStream = sslStream; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { return sslStream.GetChannelBinding(kind); } private SslStream sslStream; } internal class HttpListenerRequestContext : TransportContext { internal HttpListenerRequestContext(HttpListenerRequest request) { GlobalLog.Assert(request != null, "HttpListenerRequestContext..ctor(): Not expecting a null request!"); this.request = request; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { if (kind != ChannelBindingKind.Endpoint) { throw new NotSupportedException(SR.GetString( SR.net_listener_invalid_cbt_type, kind.ToString())); } return request.GetChannelBinding(); } private HttpListenerRequest request; } // Holds a cached Endpoint binding to be reused by HttpWebRequest preauthentication internal class CachedTransportContext : TransportContext { internal CachedTransportContext(ChannelBinding binding) { this.binding = binding; } public override ChannelBinding GetChannelBinding(ChannelBindingKind kind) { if (kind != ChannelBindingKind.Endpoint) return null; return binding; } private ChannelBinding binding; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AuthenticationSection.cs
- TripleDES.cs
- Switch.cs
- RepeatInfo.cs
- XhtmlConformanceSection.cs
- precedingquery.cs
- WebServiceMethodData.cs
- AppDomain.cs
- CodeNamespace.cs
- ConsoleTraceListener.cs
- XPathPatternParser.cs
- RegexReplacement.cs
- OraclePermission.cs
- WebEvents.cs
- DragStartedEventArgs.cs
- ThemeInfoAttribute.cs
- ComponentResourceKeyConverter.cs
- ObjectDisposedException.cs
- SemanticResultKey.cs
- FunctionMappingTranslator.cs
- TextBoxDesigner.cs
- IpcChannelHelper.cs
- UserMapPath.cs
- FixedElement.cs
- AccessedThroughPropertyAttribute.cs
- SocketInformation.cs
- OracleEncoding.cs
- WebServiceHandler.cs
- HtmlInputSubmit.cs
- DataTemplate.cs
- DataGridViewTopLeftHeaderCell.cs
- WebDisplayNameAttribute.cs
- TransactionBehavior.cs
- StreamGeometry.cs
- CacheSection.cs
- ModulesEntry.cs
- DefaultSettingsSection.cs
- TextBlockAutomationPeer.cs
- XsdCachingReader.cs
- DataGridAddNewRow.cs
- activationcontext.cs
- XmlNodeChangedEventArgs.cs
- dataobject.cs
- ProxyFragment.cs
- SystemInfo.cs
- AsyncOperationManager.cs
- ObjectListSelectEventArgs.cs
- FileChangesMonitor.cs
- DataKey.cs
- NumericUpDownAcceleration.cs
- CommandDevice.cs
- ListMarkerLine.cs
- ProviderConnectionPoint.cs
- XmlWellformedWriter.cs
- CharConverter.cs
- StackSpiller.Generated.cs
- DrawingBrush.cs
- ValueType.cs
- ConfigurationStrings.cs
- propertyentry.cs
- XmlElementElement.cs
- FastPropertyAccessor.cs
- SqlDataSourceCommandParser.cs
- SerializationException.cs
- ListSortDescriptionCollection.cs
- IResourceProvider.cs
- CompModSwitches.cs
- LinkedResourceCollection.cs
- Queue.cs
- XmlAutoDetectWriter.cs
- UncommonField.cs
- GcHandle.cs
- OLEDB_Enum.cs
- InstallerTypeAttribute.cs
- documentsequencetextpointer.cs
- ListItemsPage.cs
- Positioning.cs
- SafeMILHandleMemoryPressure.cs
- CapabilitiesRule.cs
- IgnoreFileBuildProvider.cs
- Repeater.cs
- JsonWriter.cs
- LocationChangedEventArgs.cs
- objectresult_tresulttype.cs
- TextTabProperties.cs
- HierarchicalDataBoundControl.cs
- DropTarget.cs
- _PooledStream.cs
- ParserExtension.cs
- UndoManager.cs
- WorkflowCompensationBehavior.cs
- PngBitmapDecoder.cs
- objectquery_tresulttype.cs
- SmtpException.cs
- SqlBulkCopy.cs
- IndexOutOfRangeException.cs
- HttpListenerException.cs
- TreeView.cs
- XmlIlVisitor.cs
- ToolboxItemCollection.cs