The Journey of the Lunch Launcher - Part 4b: The output channel

The Journey of the Lunch Launcher - Part 4b: The output channel

  • Comments 6

Part 1 - The origins of the 'lunch launcher'
Part 2 - MEDC 2007
Part 3 - Managing the Transport
Part 4 - Sending messages

There is a time honored tradition in some television series of having, for example, 'Season 4' and 'Season 4b'.  This weblog is no different.  Welcome to Part 4b!

Last time, I described how the Lunch Launcher sends messages.  As I was working on the project, I noticed that I had referenced a TransportObjects method that I had not explained in my description: CreateOutputChannel.

As with all entries in this series, please note that the following disclaimer covers all examples contained herein.

//-----------------------------------------------------------------------
//THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
//KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//PARTICULAR PURPOSE.
//-----------------------------------------------------------------------

/// <summary>
/// Create an output channel on which messages will be sent
/// </summary>
private IOutputChannel CreateOutputChannel(List<String> recipients)
{
    IOutputChannel outputChannel = null;
           
    // build the recipient endpoint
    Uri uri = MailUriHelper.CreateUri(this.m_ChannelName,
                                      recipients.ToArray());
    EndpointAddress endpoint = new EndpointAddress(uri);
           
    // create the output channel
    outputChannel = this.OutputChannelFactory.CreateChannel(endpoint);
                           
    return outputChannel;               
}

This method uses the MailUriHelper object (part of Store and Forward messaging) to create a single Uri that addresses all recipients.  This Uri is then used by the output channel factory to create the channel on which the message will be sent.

Take care,
-- DK

Disclaimer(s):
This posting is provided "AS IS" with no warranties, and confers no rights.
The information contained within this post is in relation to beta software.  Any and all details are subject to change.

Page 1 of 1 (6 items)