Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / StreamSecurityUpgradeAcceptorBase.cs / 1 / StreamSecurityUpgradeAcceptorBase.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Channels { using System.IO; using System.ServiceModel.Security; abstract class StreamSecurityUpgradeAcceptorBase : StreamSecurityUpgradeAcceptor { SecurityMessageProperty remoteSecurity; bool securityUpgraded; string upgradeString; protected StreamSecurityUpgradeAcceptorBase(string upgradeString) { this.upgradeString = upgradeString; } public override Stream AcceptUpgrade(Stream stream) { if (stream == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("stream"); } Stream result = this.OnAcceptUpgrade(stream, out this.remoteSecurity); this.securityUpgraded = true; return result; } public override IAsyncResult BeginAcceptUpgrade(Stream stream, AsyncCallback callback, object state) { if (stream == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("stream"); } return this.OnBeginAcceptUpgrade(stream, callback, state); } public override bool CanUpgrade(string contentType) { if (this.securityUpgraded) { return false; } return (contentType == this.upgradeString); } public override Stream EndAcceptUpgrade(IAsyncResult result) { if (result == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("result"); } Stream retValue = this.OnEndAcceptUpgrade(result, out this.remoteSecurity); this.securityUpgraded = true; return retValue; } public override SecurityMessageProperty GetRemoteSecurity() { // this could be null if upgrade not completed. return this.remoteSecurity; } protected abstract Stream OnAcceptUpgrade(Stream stream, out SecurityMessageProperty remoteSecurity); protected abstract IAsyncResult OnBeginAcceptUpgrade(Stream stream, AsyncCallback callback, object state); protected abstract Stream OnEndAcceptUpgrade(IAsyncResult result, out SecurityMessageProperty remoteSecurity); } } // 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
- HuffmanTree.cs
- BooleanFunctions.cs
- Decoder.cs
- SafeFileMappingHandle.cs
- XamlFilter.cs
- GlyphingCache.cs
- ADMembershipProvider.cs
- PersonalizationAdministration.cs
- ActivityInfo.cs
- CryptoKeySecurity.cs
- ToolStripSystemRenderer.cs
- AsmxEndpointPickerExtension.cs
- SessionIDManager.cs
- BaseDataBoundControl.cs
- InputReportEventArgs.cs
- DetailsViewInsertedEventArgs.cs
- DateTimeFormat.cs
- SerializationInfo.cs
- StartUpEventArgs.cs
- InputGestureCollection.cs
- ProfileGroupSettingsCollection.cs
- TextModifier.cs
- RightsController.cs
- AdobeCFFWrapper.cs
- Cursor.cs
- XmlAttributeCollection.cs
- XmlNodeList.cs
- DataGridTableCollection.cs
- DefaultBinder.cs
- AssertSection.cs
- NumericPagerField.cs
- SizeF.cs
- BoundField.cs
- Stroke.cs
- ClientApiGenerator.cs
- CapabilitiesAssignment.cs
- ReliabilityContractAttribute.cs
- ToolStripSeparatorRenderEventArgs.cs
- DBConnection.cs
- ReadOnlyCollectionBase.cs
- RoutedEvent.cs
- FunctionImportElement.cs
- DbRetry.cs
- ObjectListShowCommandsEventArgs.cs
- TableRowCollection.cs
- DataServiceHost.cs
- PenContext.cs
- documentsequencetextview.cs
- TextFormatter.cs
- PathFigureCollection.cs
- StringArrayConverter.cs
- NetTcpSectionData.cs
- TimeSpanHelper.cs
- XpsFilter.cs
- ForeignConstraint.cs
- XmlILConstructAnalyzer.cs
- ValidationError.cs
- SolidColorBrush.cs
- BinaryObjectWriter.cs
- FrameworkElementAutomationPeer.cs
- ContentPlaceHolder.cs
- HttpException.cs
- JsonSerializer.cs
- WebBrowserSiteBase.cs
- MultitargetingHelpers.cs
- WebConfigurationManager.cs
- ProtocolsSection.cs
- NotifyCollectionChangedEventArgs.cs
- SqlNotificationRequest.cs
- QuerySelectOp.cs
- MachineKeySection.cs
- DetailsViewRowCollection.cs
- ToolTipAutomationPeer.cs
- RegexWorker.cs
- QueueProcessor.cs
- GeometryDrawing.cs
- PaintEvent.cs
- Receive.cs
- GetPageCompletedEventArgs.cs
- UIPropertyMetadata.cs
- ElementInit.cs
- FileCodeGroup.cs
- WindowsListViewItemStartMenu.cs
- WebBaseEventKeyComparer.cs
- remotingproxy.cs
- SmtpNegotiateAuthenticationModule.cs
- WindowAutomationPeer.cs
- DynamicMetaObjectBinder.cs
- DataContractSerializerOperationGenerator.cs
- ColumnResizeUndoUnit.cs
- RelatedEnd.cs
- FlowDocumentReader.cs
- ServiceDiscoveryBehavior.cs
- ConfigPathUtility.cs
- Base64Encoder.cs
- ValidationHelper.cs
- CssStyleCollection.cs
- GZipStream.cs
- ActivityExecutorDelegateInfo.cs
- DocumentViewerHelper.cs