| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- //------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.ServiceModel
- {
- using System.Globalization;
- using System.Runtime.Serialization;
- using System.ServiceModel.Channels;
- [Serializable]
- public class ProtocolException : CommunicationException
- {
- public ProtocolException() { }
- public ProtocolException(string message) : base(message) { }
- public ProtocolException(string message, Exception innerException) : base(message, innerException) { }
- protected ProtocolException(SerializationInfo info, StreamingContext context) : base(info, context) { }
- internal static ProtocolException ReceiveShutdownReturnedNonNull(Message message)
- {
- if (message.IsFault)
- {
- try
- {
- MessageFault fault = MessageFault.CreateFault(message, 64 * 1024);
- FaultReasonText reason = fault.Reason.GetMatchingTranslation(CultureInfo.CurrentCulture);
- string text = SR.GetString(SR.ReceiveShutdownReturnedFault, reason.Text);
- return new ProtocolException(text);
- }
- catch (QuotaExceededException)
- {
- string text = SR.GetString(SR.ReceiveShutdownReturnedLargeFault, message.Headers.Action);
- return new ProtocolException(text);
- }
- }
- else
- {
- string text = SR.GetString(SR.ReceiveShutdownReturnedMessage, message.Headers.Action);
- return new ProtocolException(text);
- }
- }
- internal static ProtocolException OneWayOperationReturnedNonNull(Message message)
- {
- if (message.IsFault)
- {
- try
- {
- MessageFault fault = MessageFault.CreateFault(message, 64 * 1024);
- FaultReasonText reason = fault.Reason.GetMatchingTranslation(CultureInfo.CurrentCulture);
- string text = SR.GetString(SR.OneWayOperationReturnedFault, reason.Text);
- return new ProtocolException(text);
- }
- catch (QuotaExceededException)
- {
- string text = SR.GetString(SR.OneWayOperationReturnedLargeFault, message.Headers.Action);
- return new ProtocolException(text);
- }
- }
- else
- {
- string text = SR.GetString(SR.OneWayOperationReturnedMessage, message.Headers.Action);
- return new ProtocolException(text);
- }
- }
- }
- }
|