Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SubMenuStyle.cs
- FixedSOMImage.cs
- FloaterBaseParaClient.cs
- Decimal.cs
- VisualStyleElement.cs
- DataGridViewSortCompareEventArgs.cs
- HtmlTableCellCollection.cs
- RowTypePropertyElement.cs
- WorkItem.cs
- ViewValidator.cs
- DotExpr.cs
- COM2IProvidePropertyBuilderHandler.cs
- Single.cs
- Queue.cs
- GridViewColumnCollection.cs
- PolicyChain.cs
- FormCollection.cs
- XmlEntityReference.cs
- RepeatButtonAutomationPeer.cs
- SafeHandles.cs
- QueryOutputWriter.cs
- Claim.cs
- XmlSerializer.cs
- EllipseGeometry.cs
- SendMailErrorEventArgs.cs
- TextBoxRenderer.cs
- ColorAnimationBase.cs
- LoginName.cs
- GridErrorDlg.cs
- sqlinternaltransaction.cs
- ManipulationDevice.cs
- __TransparentProxy.cs
- DataGridViewCellValueEventArgs.cs
- InvalidEnumArgumentException.cs
- LoadMessageLogger.cs
- LicenseException.cs
- VSWCFServiceContractGenerator.cs
- DocumentViewerBaseAutomationPeer.cs
- RuntimeCompatibilityAttribute.cs
- GeneralTransformCollection.cs
- QilInvokeEarlyBound.cs
- SafeRegistryKey.cs
- IIS7WorkerRequest.cs
- precedingquery.cs
- PermissionRequestEvidence.cs
- StandardOleMarshalObject.cs
- DataBindingCollectionEditor.cs
- DeclarationUpdate.cs
- SubstitutionList.cs
- x509utils.cs
- StringConverter.cs
- SchemaMerger.cs
- DigitShape.cs
- AppDomainProtocolHandler.cs
- ObjectPersistData.cs
- DataGridViewRowHeaderCell.cs
- PeerCollaboration.cs
- ProxySimple.cs
- PrimarySelectionGlyph.cs
- AtomPub10ServiceDocumentFormatter.cs
- XmlMemberMapping.cs
- EntityContainerEmitter.cs
- ListParagraph.cs
- BinaryConverter.cs
- BatchServiceHost.cs
- Configuration.cs
- GeneralTransform3D.cs
- COM2ExtendedTypeConverter.cs
- SqlProcedureAttribute.cs
- typedescriptorpermissionattribute.cs
- CompilationUnit.cs
- JapaneseCalendar.cs
- PackageProperties.cs
- ManagementDateTime.cs
- JoinSymbol.cs
- SymmetricKeyWrap.cs
- PickBranch.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- CompiledRegexRunnerFactory.cs
- ReverseQueryOperator.cs
- XmlName.cs
- XamlWrappingReader.cs
- externdll.cs
- CatalogZoneBase.cs
- FrameworkElement.cs
- ConfigXmlElement.cs
- CallbackHandler.cs
- ToolStrip.cs
- StringValidator.cs
- RenderContext.cs
- OrCondition.cs
- CacheChildrenQuery.cs
- BoundField.cs
- EventBuilder.cs
- AsymmetricCryptoHandle.cs
- DocumentXmlWriter.cs
- AttachedAnnotation.cs
- TargetControlTypeAttribute.cs
- TemplateBuilder.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs