TransferMode.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //----------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //----------------------------------------------------------------------------
  4. namespace System.ServiceModel
  5. {
  6. using System.ComponentModel;
  7. /// <summary>
  8. /// Modes that can be set in a to determine whether a channel
  9. /// supports streamed and/or buffered mode.
  10. /// </summary>
  11. public enum TransferMode
  12. {
  13. Buffered,
  14. Streamed,
  15. StreamedRequest,
  16. StreamedResponse,
  17. }
  18. static class TransferModeHelper
  19. {
  20. public static bool IsDefined(TransferMode v)
  21. {
  22. return ((v == TransferMode.Buffered) || (v == TransferMode.Streamed) ||
  23. (v == TransferMode.StreamedRequest) || (v == TransferMode.StreamedResponse));
  24. }
  25. public static bool IsRequestStreamed(TransferMode v)
  26. {
  27. return ((v == TransferMode.StreamedRequest) || (v == TransferMode.Streamed));
  28. }
  29. public static bool IsResponseStreamed(TransferMode v)
  30. {
  31. return ((v == TransferMode.StreamedResponse) || (v == TransferMode.Streamed));
  32. }
  33. public static void Validate(TransferMode value)
  34. {
  35. if (!IsDefined(value))
  36. {
  37. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int)value,
  38. typeof(TransferMode)));
  39. }
  40. }
  41. }
  42. }