Export (0) Print
Expand All

LocalMessageReceiver.Listen Method

Silverlight

Starts listening for messages from a LocalMessageSender.

Namespace:  System.Windows.Messaging
Assembly:  System.Windows (in System.Windows.dll)

[SecuritySafeCriticalAttribute]
public void Listen()

ExceptionCondition
InvalidOperationException

The Listen method has already been called.

ObjectDisposedException

The Dispose method has already been called.

ListenFailedException

There is already a receiver registered with the same name and name scope.

This method registers the LocalMessageReceiver and enables it to receive messages.

After you call this method, the MessageReceived event will occur when a LocalMessageSender configured to send messages to this receiver calls its SendAsync method.

To stop receiving messages, you must call the Dispose method.

For more information, see Communication Between Local Silverlight-Based Applications.

The following code example demonstrates how to use this method. This example is part of a larger example available in How to: Implement Communication Between Local Silverlight-Based Applications.


using System;
using System.Windows.Controls;
using System.Windows.Messaging;

namespace ReceivingApplication
{
    public partial class Receiver : UserControl
    {
        public Receiver()
        {
            InitializeComponent();

            LocalMessageReceiver messageReceiver =
                new LocalMessageReceiver("receiver",
                ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
            messageReceiver.MessageReceived += messageReceiver_MessageReceived;
            try
            {
                messageReceiver.Listen();
            }
            catch (ListenFailedException)
            {
                output.Text = "Cannot receive messages." + Environment.NewLine +
                    "There is already a receiver with the name 'receiver'.";
            }
        }

        private void messageReceiver_MessageReceived(
            object sender, MessageReceivedEventArgs e)
        {
            e.Response = "response to " + e.Message;
            output.Text =
                "Message: " + e.Message + Environment.NewLine +
                "NameScope: " + e.NameScope + Environment.NewLine +
                "ReceiverName: " + e.ReceiverName + Environment.NewLine +
                "SenderDomain: " + e.SenderDomain + Environment.NewLine +
                "Response: " + e.Response;
        }
    }
}


Silverlight

Supported in: 5, 4, 3

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft