SecurityStateEncoder.cs 850 B

12345678910111213141516171819
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Security
  5. {
  6. // The rationale for making abstract methods protected instead of public is following:
  7. // 1. No scenarios for making them public.
  8. // 2. Reduction of threat area (other assemblies on the channel can't call these methods other than through reflection).
  9. // 3. Reduction of test area (feature is testable only through other high-level features).
  10. public abstract class SecurityStateEncoder
  11. {
  12. protected SecurityStateEncoder() { }
  13. protected internal abstract byte[] DecodeSecurityState(byte[] data);
  14. protected internal abstract byte[] EncodeSecurityState(byte[] data);
  15. }
  16. }