详情:http://www.cnblogs.com/waw/archive/2011/08/29/2158763.html

例一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace LearnCallContext
{
    class Program
    {
        static void Main(string[] args)
        {
            // CallContext:实现对上下文信息的存储
            // 在主线程存储的数据,可以在主线程的生命周期内任何地方访问
            CallContext.SetData("Name", "shz"); 
            CallContext.SetData("Age", 17);

            // 在主线程存储的数据,可以在主线程和子线程的生命周期内任何地方访问
            CallContext.LogicalSetData("LogicalName", "tom");
            CallContext.LogicalSetData("LogicalAge", 28);

            GetDataInMainThread();

            Thread t1 = new Thread(GetDataInSonThread);
            t1.Start();

            Console.ReadKey();
        }

        static void GetDataInMainThread()
        {
            object name = CallContext.GetData("Name");
            object age = CallContext.GetData("Age");
            object logicalName = CallContext.LogicalGetData("LogicalName");
            object logicalAge = CallContext.LogicalGetData("LogicalAge");

            Console.WriteLine("============ UI Thread===================");
            Console.WriteLine("Name:" + name);
            Console.WriteLine("Age:" + age);
            Console.WriteLine("LogicalName:" + logicalName);
            Console.WriteLine("LogicalAge:" + logicalAge);
            Console.WriteLine();
        }

        static void GetDataInSonThread()
        {
            object name = CallContext.GetData("Name");
            object age = CallContext.GetData("Age");
            object logicalName = CallContext.LogicalGetData("LogicalName");
            object logicalAge = CallContext.LogicalGetData("LogicalAge");

            Console.WriteLine("============ Son Thread===================");
            Console.WriteLine("Name:" + name);
            Console.WriteLine("Age:" + age);
            Console.WriteLine("LogicalName:" + logicalName);
            Console.WriteLine("LogicalAge:" + logicalAge);
            Console.WriteLine();            
        }
    }
}
View Code

相关文章:

  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-15
  • 2021-11-21
  • 2021-08-28
  • 2022-12-23
  • 2021-12-21
猜你喜欢
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2022-12-23
相关资源
相似解决方案