| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.ServiceModel.Dispatcher
- {
- using System;
- using System.ServiceModel.Channels;
- using System.Collections;
- using System.Runtime.Serialization;
- using System.ServiceModel.Diagnostics;
- internal sealed class MessageOperationFormatter : IClientMessageFormatter, IDispatchMessageFormatter
- {
- static MessageOperationFormatter instance;
- internal static MessageOperationFormatter Instance
- {
- get
- {
- if (MessageOperationFormatter.instance == null)
- MessageOperationFormatter.instance = new MessageOperationFormatter();
- return MessageOperationFormatter.instance;
- }
- }
- public object DeserializeReply(Message message, object[] parameters)
- {
- if (message == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("message"));
- if (parameters != null && parameters.Length > 0)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxParametersMustBeEmpty)));
- return message;
- }
- public void DeserializeRequest(Message message, object[] parameters)
- {
- if (message == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("message"));
- if (parameters == null)
- throw TraceUtility.ThrowHelperError(new ArgumentNullException("parameters"), message);
- if (parameters.Length != 1)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxParameterMustBeArrayOfOneElement)));
- parameters[0] = message;
- }
- public bool IsFault(string operation, Exception error)
- {
- return false;
- }
- public MessageFault SerializeFault(Exception error)
- {
-
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxMessageOperationFormatterCannotSerializeFault)));
- }
- public Message SerializeReply(MessageVersion messageVersion, object[] parameters, object result)
- {
- if (!(result is Message))
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxResultMustBeMessage)));
- if (parameters != null && parameters.Length > 0)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxParametersMustBeEmpty)));
- return (Message)result;
- }
- public Message SerializeRequest(MessageVersion messageVersion, object[] parameters)
- {
- if (parameters == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("parameters"));
- if (parameters.Length != 1 || !(parameters[0] is Message))
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.SFxParameterMustBeMessage)));
- return (Message)parameters[0];
- }
- }
- }
|