IMessage Interface (.NET)

From RemObjects Wiki
Jump to: navigation, search

This is a Library topic for RemObjects SDK for .NET
This page is generated from external data, please do not update

NamespacesInterfacesClassesEnumsImplements

Contents

Overview

All custom RemObjects Messages must implement the IMessage interface.

Messages are implemented to create and encode requests in a specific format, such as SOAP or Binary, as well as to decode the response. The ultimate responsibility of a class implementing IMessage is to provide a stream which will be communicated to the server by a ClientChannel.

Though custom message implementations typically inherit from the Message, this inheritance is not necessary. Any IMessage implementation can be passed to a Proxy. The IMessage implementation should know how to process the method parameters it is subsequently passed.


Location

Implemented in


Properties

ClientID

Provides access to the ClientID read from the message.



Prism:   property ClientID: Guid read write
C#:   Guid ClientID { get; set; }
VB:   Property ClientID As Guid


ContentType



Prism:   property ContentType: String read write
C#:   String ContentType { get; set; }
VB:   Property ContentType As String


DefaultDispatcherName

Should return the default/recommended dispatcher name for the message type.



Prism:   property DefaultDispatcherName: String read
C#:   String DefaultDispatcherName { get; }
VB:   Property ReadOnly DefaultDispatcherName As String


InterfaceName

Contains the name of the interface or service that is to be or was called on the server.



Prism:   property InterfaceName: String read
C#:   String InterfaceName { get; }
VB:   Property ReadOnly InterfaceName As String


MessageName

Contains the name of the message (i.e. the method name) that is to be or was called on the server.



Prism:   property MessageName: String read
C#:   String MessageName { get; }
VB:   Property ReadOnly MessageName As String


MessageType

Contains the Type of message represented by the message instance.



Prism:   property MessageType: MessageType read write
C#:   MessageType MessageType { get; set; }
VB:   Property MessageType As MessageType


SerializerInstance



Prism:   property SerializerInstance: Serializer read write
C#:   Serializer SerializerInstance { get; set; }
VB:   Property SerializerInstance As Serializer


Required Methods

Clear

Should be implemented to clear the contents of the message.


Oxygene:   method Clear
C#:   void Clear()
VB:   Sub Clear


ClearAttributes



Oxygene:   method ClearAttributes(channel: IChannel)
C#:   void ClearAttributes(IChannel channel)
VB:   Sub ClearAttributes(channel As IChannel)


Parameters:

  • channel:


Clone

Should create and return an identical copy of the message.


Oxygene:   method Clone: IMessage
C#:   IMessage Clone()
VB:   Function Clone As IMessage


FinalizeMessage

Should be implemented to ensure that the message content is complete before sending it by doing any final processing necessary.

This method is called after all Parameters have been written to a Message and before the message will be sent. It should perform any necessary wrap-up to ensure that a subsequent call to WriteToStream() will produce a complete message.


Oxygene:   method FinalizeMessage
C#:   void FinalizeMessage()
VB:   Sub FinalizeMessage


FinalizeRequest



Oxygene:   method FinalizeRequest(channel: IRequest)
C#:   void FinalizeRequest(IRequest channel)
VB:   Sub FinalizeRequest(channel As IRequest)


Parameters:

  • channel:


GetStream

Creates a new stream with the content of the message.


Oxygene:   method GetStream: Stream
C#:   Stream GetStream()
VB:   Function GetStream As Stream


InitializeEventMessage (IChannel, String, String)

This method should be implemented by the Message components to initialize an Event message.


Oxygene:   method InitializeEventMessage(channel: IChannel; interfaceName: String; messageName: String)
C#:   void InitializeEventMessage(IChannel channel, String interfaceName, String messageName)
VB:   Sub InitializeEventMessage(channel As IChannel, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • interfaceName:
  • messageName:


InitializeEventMessage (IChannel, String, String, String)



Oxygene:   method InitializeEventMessage(channel: IChannel; libraryName: String; interfaceName: String; messageName: String)
C#:   void InitializeEventMessage(IChannel channel, String libraryName, String interfaceName, String messageName)
VB:   Sub InitializeEventMessage(channel As IChannel, libraryName As String, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • libraryName:
  • interfaceName:
  • messageName:


InitializeExceptionMessage (Exception, IChannel, String, String)

This method should be implemented by the Message components to initialize an Exception message.


Oxygene:   method InitializeExceptionMessage(e: Exception; channel: IChannel; interfaceName: String; messageName: String)
C#:   void InitializeExceptionMessage(Exception e, IChannel channel, String interfaceName, String messageName)
VB:   Sub InitializeExceptionMessage(e As Exception, channel As IChannel, interfaceName As String, messageName As String)


Parameters:

  • e:
  • channel:
  • interfaceName:
  • messageName:


InitializeExceptionMessage (Exception, IChannel, String, String, String)



Oxygene:   method InitializeExceptionMessage(e: Exception; channel: IChannel; libraryName: String; interfaceName: String; messageName: String)
C#:   void InitializeExceptionMessage(Exception e, IChannel channel, String libraryName, String interfaceName, String messageName)
VB:   Sub InitializeExceptionMessage(e As Exception, channel As IChannel, libraryName As String, interfaceName As String, messageName As String)


Parameters:

  • e:
  • channel:
  • libraryName:
  • interfaceName:
  • messageName:


InitializeMessage (IChannel, String, String, MessageType)

This method should be implemented by the Message components to initialize a message of the given type.


Oxygene:   method InitializeMessage(channel: IChannel; interfaceName: String; messageName: String; messageType: MessageType)
C#:   void InitializeMessage(IChannel channel, String interfaceName, String messageName, MessageType messageType)
VB:   Sub InitializeMessage(channel As IChannel, interfaceName As String, messageName As String, messageType As MessageType)


Parameters:

  • channel:
  • interfaceName:
  • messageName:
  • messageType:


InitializeMessage (IChannel, String, String, String, MessageType)



Oxygene:   method InitializeMessage(channel: IChannel; libraryName: String; interfaceName: String; messageName: String; messageType: MessageType)
C#:   void InitializeMessage(IChannel channel, String libraryName, String interfaceName, String messageName, MessageType messageType)
VB:   Sub InitializeMessage(channel As IChannel, libraryName As String, interfaceName As String, messageName As String, messageType As MessageType)


Parameters:

  • channel:
  • libraryName:
  • interfaceName:
  • messageName:
  • messageType:


InitializeMessageEx



Oxygene:   method InitializeMessageEx(channel: IChannel; messageType: MessageType)
C#:   void InitializeMessageEx(IChannel channel, MessageType messageType)
VB:   Sub InitializeMessageEx(channel As IChannel, messageType As MessageType)


Parameters:

  • channel:
  • messageType:


InitializeRead



Oxygene:   method InitializeRead(channel: IChannel)
C#:   void InitializeRead(IChannel channel)
VB:   Sub InitializeRead(channel As IChannel)


Parameters:

  • channel:


InitializeRequest



Oxygene:   method InitializeRequest(channel: IRequest)
C#:   void InitializeRequest(IRequest channel)
VB:   Sub InitializeRequest(channel As IRequest)


Parameters:

  • channel:


InitializeRequestMessage (IChannel, String, String)

Should be implemented by the Message components to initialize a Request message.


Oxygene:   method InitializeRequestMessage(channel: IChannel; interfaceName: String; messageName: String)
C#:   void InitializeRequestMessage(IChannel channel, String interfaceName, String messageName)
VB:   Sub InitializeRequestMessage(channel As IChannel, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • interfaceName:
  • messageName:


InitializeRequestMessage (IChannel, String, String, String)



Oxygene:   method InitializeRequestMessage(channel: IChannel; libraryName: String; interfaceName: String; messageName: String)
C#:   void InitializeRequestMessage(IChannel channel, String libraryName, String interfaceName, String messageName)
VB:   Sub InitializeRequestMessage(channel As IChannel, libraryName As String, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • libraryName:
  • interfaceName:
  • messageName:


InitializeResponseMessage (IChannel, String, String)

Should be implemented by the Message components to initialize a Response message.


Oxygene:   method InitializeResponseMessage(channel: IChannel; interfaceName: String; messageName: String)
C#:   void InitializeResponseMessage(IChannel channel, String interfaceName, String messageName)
VB:   Sub InitializeResponseMessage(channel As IChannel, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • interfaceName:
  • messageName:


InitializeResponseMessage (IChannel, String, String, String)



Oxygene:   method InitializeResponseMessage(channel: IChannel; libraryName: String; interfaceName: String; messageName: String)
C#:   void InitializeResponseMessage(IChannel channel, String libraryName, String interfaceName, String messageName)
VB:   Sub InitializeResponseMessage(channel As IChannel, libraryName As String, interfaceName As String, messageName As String)


Parameters:

  • channel:
  • libraryName:
  • interfaceName:
  • messageName:


Read (String, Type): Object



Oxygene:   method Read(name: String; type: Type): Object
C#:   Object Read(String name, Type type)
VB:   Function Read(name As String, type As Type) As Object


Parameters:

  • name:
  • type:


Read (String, Type, StreamingFormat): Object

Should be implemented to read an object of the given type from the message.

Note: Several overloads are provided for value types to avoid the boxing/unboxing that would occur if these were serialized via the generic Read/Write methods.


Oxygene:   method Read(name: String; type: Type; format: StreamingFormat): Object
C#:   Object Read(String name, Type type, StreamingFormat format)
VB:   Function Read(name As String, type As Type, format As StreamingFormat) As Object


Parameters:

  • name:
  • type:
  • format:


ReadAnsiString

Should be implemented to read an ANSI String value from the message.


Oxygene:   method ReadAnsiString(name: String): String
C#:   String ReadAnsiString(String name)
VB:   Function ReadAnsiString(name As String) As String


Parameters:

  • name:


ReadBoolean



Oxygene:   method ReadBoolean(name: String): Boolean
C#:   Boolean ReadBoolean(String name)
VB:   Function ReadBoolean(name As String) As Boolean


Parameters:

  • name:


ReadCurrency



Oxygene:   method ReadCurrency(name: String): Decimal
C#:   Decimal ReadCurrency(String name)
VB:   Function ReadCurrency(name As String) As Decimal


Parameters:

  • name:


ReadDateTime



Oxygene:   method ReadDateTime(name: String): DateTime
C#:   DateTime ReadDateTime(String name)
VB:   Function ReadDateTime(name As String) As DateTime


Parameters:

  • name:


ReadDecimal



Oxygene:   method ReadDecimal(name: String): Decimal
C#:   Decimal ReadDecimal(String name)
VB:   Function ReadDecimal(name As String) As Decimal


Parameters:

  • name:


ReadDouble



Oxygene:   method ReadDouble(name: String): Double
C#:   Double ReadDouble(String name)
VB:   Function ReadDouble(name As String) As Double


Parameters:

  • name:


ReadEnum



Oxygene:   method ReadEnum(name: String; type: Type): Enum
C#:   Enum ReadEnum(String name, Type type)
VB:   Function ReadEnum(name As String, type As Type) As Enum


Parameters:

  • name:
  • type:


ReadException



Oxygene:   method ReadException: Exception
C#:   Exception ReadException()
VB:   Function ReadException As Exception


ReadFromStream

Should be implemented to read the contents of the message from the given stream.


Oxygene:   method ReadFromStream(stream: Stream)
C#:   void ReadFromStream(Stream stream)
VB:   Sub ReadFromStream(stream As Stream)


Parameters:

  • stream:


ReadGuid



Oxygene:   method ReadGuid(name: String): Guid
C#:   Guid ReadGuid(String name)
VB:   Function ReadGuid(name As String) As Guid


Parameters:

  • name:


ReadInt32



Oxygene:   method ReadInt32(name: String): Int32
C#:   Int32 ReadInt32(String name)
VB:   Function ReadInt32(name As String) As Int32


Parameters:

  • name:


ReadInt64



Oxygene:   method ReadInt64(name: String): Int64
C#:   Int64 ReadInt64(String name)
VB:   Function ReadInt64(name As String) As Int64


Parameters:

  • name:


ReadUtf8String



Oxygene:   method ReadUtf8String(name: String): String
C#:   String ReadUtf8String(String name)
VB:   Function ReadUtf8String(name As String) As String


Parameters:

  • name:


ReadVariant



Oxygene:   method ReadVariant(name: String): Object
C#:   Object ReadVariant(String name)
VB:   Function ReadVariant(name As String) As Object


Parameters:

  • name:


ReadWideString

Should be implemented to read a Unicode Wide String value from the message.


Oxygene:   method ReadWideString(name: String): String
C#:   String ReadWideString(String name)
VB:   Function ReadWideString(name As String) As String


Parameters:

  • name:


ReadXml



Oxygene:   method ReadXml(name: String): XmlNode
C#:   XmlNode ReadXml(String name)
VB:   Function ReadXml(name As String) As XmlNode


Parameters:

  • name:


SetAttributes



Oxygene:   method SetAttributes(channel: IChannel; names: array of String; values: array of String)
C#:   void SetAttributes(IChannel channel, array of String names, array of String values)
VB:   Sub SetAttributes(channel As IChannel, names As array of String, values As array of String)


Parameters:

  • channel:
  • names:
  • values:


Validate



Oxygene:   method Validate(content: String): Boolean
C#:   Boolean Validate(String content)
VB:   Function Validate(content As String) As Boolean


Parameters:

  • content:


Write (String, Object, Type)



Oxygene:   method Write(name: String; value: Object; type: Type)
C#:   void Write(String name, Object value, Type type)
VB:   Sub Write(name As String, value As Object, type As Type)


Parameters:

  • name:
  • value:
  • type:


Write (String, Object, Type, StreamingFormat)



Oxygene:   method Write(name: String; value: Object; type: Type; format: StreamingFormat)
C#:   void Write(String name, Object value, Type type, StreamingFormat format)
VB:   Sub Write(name As String, value As Object, type As Type, format As StreamingFormat)


Parameters:

  • name:
  • value:
  • type:
  • format:


WriteAnsiString

Should be implemented to write an ANSI String value to the message.


Oxygene:   method WriteAnsiString(name: String; value: String)
C#:   void WriteAnsiString(String name, String value)
VB:   Sub WriteAnsiString(name As String, value As String)


Parameters:

  • name:
  • value:


WriteBoolean



Oxygene:   method WriteBoolean(name: String; value: Boolean)
C#:   void WriteBoolean(String name, Boolean value)
VB:   Sub WriteBoolean(name As String, value As Boolean)


Parameters:

  • name:
  • value:


WriteCurrency



Oxygene:   method WriteCurrency(name: String; value: Decimal)
C#:   void WriteCurrency(String name, Decimal value)
VB:   Sub WriteCurrency(name As String, value As Decimal)


Parameters:

  • name:
  • value:


WriteDateTime



Oxygene:   method WriteDateTime(name: String; value: DateTime)
C#:   void WriteDateTime(String name, DateTime value)
VB:   Sub WriteDateTime(name As String, value As DateTime)


Parameters:

  • name:
  • value:


WriteDecimal



Oxygene:   method WriteDecimal(name: String; value: Decimal)
C#:   void WriteDecimal(String name, Decimal value)
VB:   Sub WriteDecimal(name As String, value As Decimal)


Parameters:

  • name:
  • value:


WriteDouble



Oxygene:   method WriteDouble(name: String; value: Double)
C#:   void WriteDouble(String name, Double value)
VB:   Sub WriteDouble(name As String, value As Double)


Parameters:

  • name:
  • value:


WriteEnum



Oxygene:   method WriteEnum(name: String; value: Enum)
C#:   void WriteEnum(String name, Enum value)
VB:   Sub WriteEnum(name As String, value As Enum)


Parameters:

  • name:
  • value:


WriteException



Oxygene:   method WriteException(exception: Exception)
C#:   void WriteException(Exception exception)
VB:   Sub WriteException(exception As Exception)


Parameters:

  • exception:


WriteGuid



Oxygene:   method WriteGuid(name: String; value: Guid)
C#:   void WriteGuid(String name, Guid value)
VB:   Sub WriteGuid(name As String, value As Guid)


Parameters:

  • name:
  • value:


WriteInt32



Oxygene:   method WriteInt32(name: String; value: Int32)
C#:   void WriteInt32(String name, Int32 value)
VB:   Sub WriteInt32(name As String, value As Int32)


Parameters:

  • name:
  • value:


WriteInt64



Oxygene:   method WriteInt64(name: String; value: Int64)
C#:   void WriteInt64(String name, Int64 value)
VB:   Sub WriteInt64(name As String, value As Int64)


Parameters:

  • name:
  • value:


WriteToStream



Oxygene:   method WriteToStream(stream: Stream)
C#:   void WriteToStream(Stream stream)
VB:   Sub WriteToStream(stream As Stream)


Parameters:

  • stream:


WriteUtf8String



Oxygene:   method WriteUtf8String(name: String; value: String)
C#:   void WriteUtf8String(String name, String value)
VB:   Sub WriteUtf8String(name As String, value As String)


Parameters:

  • name:
  • value:


WriteVariant



Oxygene:   method WriteVariant(name: String; value: Object)
C#:   void WriteVariant(String name, Object value)
VB:   Sub WriteVariant(name As String, value As Object)


Parameters:

  • name:
  • value:


WriteWideString



Oxygene:   method WriteWideString(name: String; value: String)
C#:   void WriteWideString(String name, String value)
VB:   Sub WriteWideString(name As String, value As String)


Parameters:

  • name:
  • value:


WriteXml



Oxygene:   method WriteXml(name: String; value: XmlNode)
C#:   void WriteXml(String name, XmlNode value)
VB:   Sub WriteXml(name As String, value As XmlNode)


Parameters:

  • name:
  • value:


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples

Personal tools
Namespaces

Variants
Actions
Navigation
products
platforms
special
Toolbox