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
- StringDictionary.cs
- TypeConvertions.cs
- basemetadatamappingvisitor.cs
- ListItemViewAttribute.cs
- DPCustomTypeDescriptor.cs
- ProcessHostServerConfig.cs
- BulletedList.cs
- BeginEvent.cs
- Util.cs
- PolicyValidationException.cs
- Parameter.cs
- ProgressBar.cs
- AnimationLayer.cs
- SystemDiagnosticsSection.cs
- HttpHeaderCollection.cs
- GeometryDrawing.cs
- ImageListStreamer.cs
- Panel.cs
- ThousandthOfEmRealPoints.cs
- RadioButtonStandardAdapter.cs
- DbProviderFactories.cs
- ControlAdapter.cs
- StrongBox.cs
- COM2ColorConverter.cs
- JournalEntryListConverter.cs
- ToolStripRendererSwitcher.cs
- XmlSerializerNamespaces.cs
- OracleRowUpdatedEventArgs.cs
- ScriptServiceAttribute.cs
- XPathSelfQuery.cs
- ServiceContractGenerator.cs
- CompiledIdentityConstraint.cs
- ComplexLine.cs
- AuditLevel.cs
- MorphHelper.cs
- UserInitiatedRoutedEventPermission.cs
- InputManager.cs
- RadioButtonStandardAdapter.cs
- RequestTimeoutManager.cs
- ApplicationFileCodeDomTreeGenerator.cs
- MailAddress.cs
- SctClaimDictionary.cs
- FileRecordSequenceCompletedAsyncResult.cs
- TraceContextEventArgs.cs
- SafeWaitHandle.cs
- ValidationError.cs
- Verify.cs
- LocalizationParserHooks.cs
- NavigateEvent.cs
- PartManifestEntry.cs
- SetUserPreferenceRequest.cs
- ActiveXSite.cs
- CacheVirtualItemsEvent.cs
- FileDialogPermission.cs
- ParallelSeparator.xaml.cs
- LicFileLicenseProvider.cs
- TraceContextEventArgs.cs
- DefaultIfEmptyQueryOperator.cs
- OdbcStatementHandle.cs
- httpapplicationstate.cs
- ToolStripOverflow.cs
- ProfileInfo.cs
- ButtonBaseAdapter.cs
- DataSourceCacheDurationConverter.cs
- StandardRuntimeEnumValidator.cs
- PkcsUtils.cs
- XmlSchemaResource.cs
- Dynamic.cs
- Point3DCollectionConverter.cs
- EntityDataSourceDataSelectionPanel.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- CssClassPropertyAttribute.cs
- XmlLinkedNode.cs
- XmlNamespaceMapping.cs
- EntityCommand.cs
- ResourceReferenceKeyNotFoundException.cs
- FastEncoder.cs
- PropertyConverter.cs
- CollectionBuilder.cs
- CodeCommentStatement.cs
- FactoryId.cs
- ScriptResourceInfo.cs
- ISAPIWorkerRequest.cs
- NavigationWindow.cs
- SaveFileDialog.cs
- ListGeneralPage.cs
- IDataContractSurrogate.cs
- BoundField.cs
- ApplicationSettingsBase.cs
- IPHostEntry.cs
- ParameterElement.cs
- ProcessModelInfo.cs
- StringValidatorAttribute.cs
- SystemIPGlobalStatistics.cs
- SR.cs
- BindingMAnagerBase.cs
- LayoutSettings.cs
- CollectionsUtil.cs
- PopupEventArgs.cs
- HtmlGenericControl.cs