| File: FrameworkFork\System.ServiceModel\System\ServiceModel\Security\SecurityProtocol.cs | Web Access |
| Project: src\src\dotnet-svcutil\lib\src\dotnet-svcutil-lib.csproj (dotnet-svcutil-lib) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IdentityModel.Policy; using System.IdentityModel.Selectors; using System.IdentityModel.Tokens; using System.Runtime; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Diagnostics; using System.ServiceModel.Security.Tokens; namespace System.ServiceModel.Security { // See SecurityProtocolFactory for contracts on subclasses etc // SecureOutgoingMessage and VerifyIncomingMessage take message as // ref parameters (instead of taking a message and returning a // message) to reduce the likelihood that a caller will forget to // do the rest of the processing with the modified message object. // Especially, on the sender-side, not sending the modified // message will result in sending it with an unencrypted body. // Correspondingly, the async versions have out parameters instead // of simple return values. internal abstract class SecurityProtocol : ISecurityCommunicationObject { private WrapperSecurityCommunicationObject _communicationObject; public TimeSpan DefaultCloseTimeout { get { throw ExceptionHelper.PlatformNotSupported(); } } public TimeSpan DefaultOpenTimeout { get { throw ExceptionHelper.PlatformNotSupported(); } } public void OnAbort() { throw ExceptionHelper.PlatformNotSupported(); } public IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state) { throw ExceptionHelper.PlatformNotSupported(); } public IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state) { throw ExceptionHelper.PlatformNotSupported(); } public void OnClose(TimeSpan timeout) { throw ExceptionHelper.PlatformNotSupported(); } public void OnClosed() { throw ExceptionHelper.PlatformNotSupported(); } public void OnClosing() { throw ExceptionHelper.PlatformNotSupported(); } public void OnEndClose(IAsyncResult result) { throw ExceptionHelper.PlatformNotSupported(); } public void OnEndOpen(IAsyncResult result) { throw ExceptionHelper.PlatformNotSupported(); } public void OnFaulted() { throw ExceptionHelper.PlatformNotSupported(); } public void OnOpen(TimeSpan timeout) { throw ExceptionHelper.PlatformNotSupported(); } public void OnOpened() { throw ExceptionHelper.PlatformNotSupported(); } public void OnOpening() { throw ExceptionHelper.PlatformNotSupported(); } public void Close(bool aborted, TimeSpan timeout) { if (aborted) { _communicationObject.Abort(); } else { _communicationObject.Close(timeout); } } } }