Interface IMessageHandlerSelector
Interface for message handler selector.
Namespace: Kephas.Messaging.HandlerSelectors
Assembly: Kephas.Messaging.dll
Syntax
[SingletonAppServiceContract(AllowMultiple = true)]
public interface IMessageHandlerSelector
Methods
| Improve this Doc View SourceCanHandle(Type, Type, Object)
Indicates whether the selector can handle the indicated message type.
Declaration
bool CanHandle(Type envelopeType, Type messageType, object messageId)
Parameters
Type | Name | Description |
---|---|---|
System.Type | envelopeType | The type of the envelope. This is typically the adapter type, if the message does not implement IMessage. |
System.Type | messageType | The type of the message. |
System.Object | messageId | The ID of the message. |
Returns
Type | Description |
---|---|
System.Boolean | True if the selector can handle the message type, false if not. |
Remarks
This is the method by which the selectors are requested to indicate whether they are in charge of providing the handlers for a specific message type and ID.
GetHandlersFactory(IEnumerable<IExportFactory<IMessageHandler, MessageHandlerMetadata>>, Type, Type, Object)
Gets a factory which retrieves the components handling messages of the given type.
Declaration
Func<IEnumerable<IMessageHandler>> GetHandlersFactory(IEnumerable<IExportFactory<IMessageHandler, MessageHandlerMetadata>> handlerFactories, Type envelopeType, Type messageType, object messageId)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<IExportFactory<IMessageHandler, MessageHandlerMetadata>> | handlerFactories | The handler factories. |
System.Type | envelopeType | The type of the envelope. This is typically the adapter type, if the message does not implement IMessage. |
System.Type | messageType | The type of the message. |
System.Object | messageId | The ID of the message. |
Returns
Type | Description |
---|---|
System.Func<System.Collections.Generic.IEnumerable<IMessageHandler>> | A factory of an enumeration of message handlers. |