LocalMessageSender Constructor (String, String)

LocalMessageSender Constructor (String, String)


Initializes a new instance of the LocalMessageSender class and configures it to send messages to the receiver with the specified name and domain.

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

Public Sub New ( _
	receiverName As String, _
	receiverDomain As String _


Type: System.String
The ReceiverName property value of the LocalMessageReceiver that this sender will send messages to.
Type: System.String
The domain of the LocalMessageReceiver that this sender will send messages to, or Global if the receiver is not scoped to a domain.


receiverName is Nothing.


receiverDomain is Nothing.


receiverName is longer than 256 characters.


receiverDomain is longer than 256 characters.


receiverDomain contains one or more invalid characters ("," and ":").

This constructor enables you to initialize the ReceiverName and ReceiverDomain values.

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

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

Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Messaging

Partial Public Class Sender
    Inherits UserControl

    Private messageSender As LocalMessageSender

    Public Sub New()

        messageSender = New LocalMessageSender( _
            "receiver", LocalMessageSender.Global)
        AddHandler messageSender.SendCompleted, _
            AddressOf sender_SendCompleted
        SendMessage("message from Sender constructor")

    End Sub

    Private clickNumber As Integer = 1

    Private Sub UpdateButton()
        button.Content = "send message 'click " & clickNumber & "'"
    End Sub

    Private Sub Button_Click(ByVal sender As Object, _
        ByVal e As RoutedEventArgs)

        SendMessage("click " & clickNumber)
        clickNumber += 1

    End Sub

    Private Const MAX_ATTEMPTS As Integer = 10000
    Private attempt As Integer = 1

    Private Sub SendMessage(ByVal message As String)
        messageSender.SendAsync(message, attempt)
    End Sub

    Private Sub sender_SendCompleted(ByVal sender As Object, _
        ByVal e As SendCompletedEventArgs)

        If e.Error IsNot Nothing Then

            attempt += 1
            If attempt > MAX_ATTEMPTS Then
                output.Text = "Could not send message."
            End If

        End If

        output.Text = _
            "Message: " & e.Message & Environment.NewLine & _
            "Attempt " & CType(e.UserState, Integer) & _
            " completed." & Environment.NewLine & _
            "Response: " & e.Response & Environment.NewLine & _
            "ReceiverName: " & e.ReceiverName & Environment.NewLine & _
            "ReceiverDomain: " & e.ReceiverDomain

        ' Reset attempt counter.
        attempt = 1

    End Sub

    Private Sub LogError(ByVal e As SendCompletedEventArgs)
        System.Diagnostics.Debug.WriteLine( _
            "Attempt number {0}: {1}: {2}", CType(e.UserState, Integer), _
            e.Error.GetType().ToString(), e.Error.Message)
    End Sub

End Class


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

© 2015 Microsoft