Export (0) Print
Expand All

IContextManager Interface

Defines an interface that allows you to get and set the context on the channel.

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

public interface IContextManager

The IContextManager type exposes the following members.

  NameDescription
Public propertyEnabledGets or sets a value that indicates whether the context management is enabled.
Top

  NameDescription
Public methodGetContextGets the context.
Public methodSetContextSets the context.
Top

For channels that use WSHttpContextBinding with the NotAllowed value set, the context cannot be retrieved on the client using IContextManager because a new channel that establishes a session is created each time GetProperty<T> is called to enforce NotAllowed semantics on a channel. This means that even though the context is properly propagated back to the client in this case, it cannot be retrieved using IContextManager. You can still retrieve it using ContextMessageProperty as shown in the following code.

using (new OperationContextScope((IContextChannel)channel))
{
    channel.MyChannel("Test");
    ContextMessageProperty context;
    if (ContextMessageProperty.TryGet(OperationContext.Current.IncomingMessageProperties, out context))
    {
        Console.WriteLine(context.Count);
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4
Show:
© 2015 Microsoft