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
- ObjectItemAttributeAssemblyLoader.cs
- LineGeometry.cs
- IPAddressCollection.cs
- _ConnectionGroup.cs
- ReadOnlyCollectionBase.cs
- UnmanagedMemoryStream.cs
- AssemblyAttributes.cs
- SafeArrayTypeMismatchException.cs
- Timeline.cs
- MappableObjectManager.cs
- DataSourceHelper.cs
- PrintEvent.cs
- SlotInfo.cs
- WebServiceFaultDesigner.cs
- WebFaultException.cs
- ChannelOptions.cs
- CodeVariableDeclarationStatement.cs
- MonthCalendar.cs
- HttpProcessUtility.cs
- TableItemProviderWrapper.cs
- ConnectionProviderAttribute.cs
- AssemblyBuilder.cs
- RuleSettings.cs
- RootBuilder.cs
- WindowsStatusBar.cs
- SplineQuaternionKeyFrame.cs
- Parameter.cs
- EventMappingSettingsCollection.cs
- SubpageParaClient.cs
- CharacterMetricsDictionary.cs
- ConsoleTraceListener.cs
- FixUpCollection.cs
- TreeViewHitTestInfo.cs
- SystemInfo.cs
- KnownIds.cs
- RbTree.cs
- AdornerLayer.cs
- CoreSwitches.cs
- DataGridItemEventArgs.cs
- QueryOptionExpression.cs
- DataReceivedEventArgs.cs
- StreamInfo.cs
- ColorConvertedBitmap.cs
- IHttpResponseInternal.cs
- DbParameterHelper.cs
- TextEmbeddedObject.cs
- sqlnorm.cs
- PrintPreviewControl.cs
- ValueType.cs
- MexNamedPipeBindingCollectionElement.cs
- FormViewDeletedEventArgs.cs
- DataContractSet.cs
- StackBuilderSink.cs
- AssemblyUtil.cs
- PropertyMetadata.cs
- StringStorage.cs
- MsmqHostedTransportManager.cs
- ComboBoxAutomationPeer.cs
- SafeWaitHandle.cs
- DelegateOutArgument.cs
- MachineKeySection.cs
- DesignOnlyAttribute.cs
- AnnotationResourceCollection.cs
- LoginName.cs
- Clause.cs
- WorkflowPrinting.cs
- StylusShape.cs
- WebPartVerbsEventArgs.cs
- TextDecorations.cs
- RegexGroupCollection.cs
- WebSysDescriptionAttribute.cs
- IPipelineRuntime.cs
- XmlSchemaSimpleContentExtension.cs
- BinaryFormatterSinks.cs
- FontStyleConverter.cs
- AttachInfo.cs
- SecurityTokenSpecification.cs
- WorkflowDesignerColors.cs
- BindingMAnagerBase.cs
- NullableDecimalSumAggregationOperator.cs
- Bitmap.cs
- ListParagraph.cs
- LocalizedNameDescriptionPair.cs
- StrokeFIndices.cs
- MLangCodePageEncoding.cs
- BitmapMetadata.cs
- KnownColorTable.cs
- OdbcErrorCollection.cs
- _SingleItemRequestCache.cs
- ToolStripButton.cs
- CLRBindingWorker.cs
- ListViewItem.cs
- ScrollBarRenderer.cs
- PixelFormatConverter.cs
- Span.cs
- TypedDatasetGenerator.cs
- DrawListViewColumnHeaderEventArgs.cs
- ProxyWebPartConnectionCollection.cs
- DynamicHyperLink.cs
- RangeBaseAutomationPeer.cs