AP&C API Reference
Namespaces | Classes | Enumerations | Functions
Apac.Messaging Namespace Reference

Classes

class  DeliveryStatus
 This class represents the status from one attempt to deliver a Message over a single protocol. A Message may have several of these More...
 
class  DeliveryStatusList
 This class provides a statically-typed list for keeping delivery history. More...
 
interface  IAddressResolver
 The contract needed to provide messaging address resolution services. More...
 
interface  IMessageHandler
 The method signatures required by implementations that will deliver messages from the system. More...
 
class  Message
 This class provides the data structure for both outgoing (queued) and archived messages. More...
 
class  MessageController
 This class is the heart of the notification system. It delegates message transport to instances of IMessageHandler based on configuration values for each MessageType. It hosts all timing needed to check for and retry failed messages. It maintains the message queues and archives.
More...
 
class  MessageControllerStatusEventArgs
 Event arguments for MessageControllerStatusHandler. More...
 
class  MessagingAddress
 A protocol-agnostic address used to present senders and recipients to message handling parts of the system. More...
 
class  MessagingException
 This is a specific exception type that is thrown by the messaging infrastructure. More...
 
class  Resources
 A strongly-typed resource class, for looking up localized strings, etc.
 

Enumerations

enum class  MessageType {
  Undefined , SystemStatus , MessagingConfiguration , OnlineStoreOrderProcessing ,
  Alert
}
 The types of messages supported by the messaging system. More...
 
enum class  MessagingConfigurationOperations { AddQueue = 0x01 , RemoveQueue = 0x02 }
 The enumerated list of operations that can be performed by sending in messaging configuration messages. This is set up as a bit-flag enum so multiple operations can be indicated in one message if applicable. More...
 
enum class  MessagingProtocols : int {
  Unknown = 0 , SMTP = 1 , FileSystem = 2 , Remoting = 4 ,
  InternalConfig = 8
}
 The list of notification protocols supported by the system. IMessageHandler implementations should use this to implement their IMessageHandler.SupportedProtocol property as a way for controlling code to know which notifier(s) to call. More...
 

Functions

delegate void MessageControllerStatusHandler (object sender, MessageControllerStatusEventArgs args)
 A simple delegate defining an out-bound message containing status information about the controller. More...
 
delegate void NotificationHandler (string queue, Messaging.MessageType MessageType, string subject, string body, Dictionary< string, object > propertyBag)
 This is the function type used to send notifications from managed processes. More...
 

Enumeration Type Documentation

◆ MessageType

The types of messages supported by the messaging system.

Enumerator
Undefined 

Not for use in describing message handling setup, this is used to indicate that the configured message type is not one defined in this list.

SystemStatus 

Messages used for reporting internal system status such as performance or error information related system function, rather than the status of managed elements..

MessagingConfiguration 

Messages used to trigger configuration actions within the messaging system itself.

OnlineStoreOrderProcessing 

Messages related to online store order processing.

Alert 

Outgoing messages containing alert notifications.

◆ MessagingConfigurationOperations

The enumerated list of operations that can be performed by sending in messaging configuration messages. This is set up as a bit-flag enum so multiple operations can be indicated in one message if applicable.

Enumerator
AddQueue 

Indicates that the target should be treated as a queue to be created.

RemoveQueue 

Indicates that the target should be treated as a queue to be removed.

◆ MessagingProtocols

The list of notification protocols supported by the system. IMessageHandler implementations should use this to implement their IMessageHandler.SupportedProtocol property as a way for controlling code to know which notifier(s) to call.

Enumerator
Unknown 

An invalid value at runtime, this is the default indicating the protocol has not yet been specified.

SMTP 

The traditional underlying protocol for sending email.

FileSystem 

Serialized messages are moved using a file system.

Remoting 

A remoting call is used to a move the message.

InternalConfig 

A protocol used for configuration of the messaging system itself.

Function Documentation

◆ MessageControllerStatusHandler()

delegate void Apac.Messaging.MessageControllerStatusHandler ( object  sender,
MessageControllerStatusEventArgs  args 
)

A simple delegate defining an out-bound message containing status information about the controller.

Parameters
senderThe MessageController sending the message.
argsThe MessageControllerStatusEventArgs containing the status.

◆ NotificationHandler()

delegate void Apac.Messaging.NotificationHandler ( string  queue,
Messaging.MessageType  MessageType,
string  subject,
string  body,
Dictionary< string, object >  propertyBag 
)

This is the function type used to send notifications from managed processes.

Parameters
queueThe name of the queue to which the message is being sent.
MessageTypeThe type of message being sent. This allows the message controller to know the recipient and other configured values for delivering the message.
subjectA short summary of the message indicating its purpose.
bodyThe content of the message.
propertyBagThe set of extended data elements to be tagged along with the message, through the messaging system. This data does not become part of the delivered message for standard message handlers. Objects in the property bag must support serialization and/or XML serialization, preferrably both. If the system is configured to serialize in a format not supported by the objects in the property bag, then they will be lost.