IReceiveMessageCallback Interface

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Implements a callback to be executed when a service message is received by the Receive and T:System.ServiceModel.Activities.ReceiveParameters activities.

Namespace:   System.ServiceModel.Activities
Assembly:  System.ServiceModel.Activities (in System.ServiceModel.Activities.dll)

public interface IReceiveMessageCallback

NameDescription
System_CAPS_pubmethodOnReceiveMessage(OperationContext, ExecutionProperties)

Executed when a service message is received.

The following example shows how to implement the IReceiveMessageCallback interface to access a message header when a message is received.

class ReceiveInstanceIdCallback : IReceiveMessageCallback
{
    public const string HeaderName = "InstanceIdHeader";
    public const string HeaderNS = "http://Microsoft.Samples.AccessingOperationContext";

    public void OnReceiveMessage(System.ServiceModel.OperationContext operationContext, System.Activities.ExecutionProperties activityExecutionProperties)
    {            
        try
        {
            Guid instanceId = operationContext.IncomingMessageHeaders.GetHeader<Guid>(HeaderName, HeaderNS);
            Console.WriteLine("Received a message from a workflow with instanceId = {0}", instanceId);
        }
        catch (MessageHeaderException)
        {
            Console.WriteLine("This message must not be from a workflow.");
        }
    }
}

.NET Framework
Available since 4.0
Return to top
Show: