public static void Apply(CallerThreadContext callerThreadContext)
{
if (null == callerThreadContext)
{
throw new ArgumentNullException("callerThreadContext");
}
// Todo: In NET 2.0, redo using the new feature of ExecutionContext class - Run()
// Restore call context
if ((callerThreadContext._callContext != null) && (setLogicalCallContextMethodInfo != null))
{
setLogicalCallContextMethodInfo.Invoke(Thread.CurrentThread,
new object[] {callerThreadContext._callContext});
}
// Restore HttpContext
if (callerThreadContext._httpContext != null)
{
CallContext.SetData(HttpContextSlotName, callerThreadContext._httpContext);
}
}