Context Manipulator : ContextProperty « Development « C# / CSharp Tutorial






using System;
using System.Runtime.Remoting.Contexts;
using System.Threading;

public class SportsCar {
    public SportsCar() {
        Context ctx = Thread.CurrentContext;
        Console.WriteLine("{0} object in context {1}", this.ToString(), ctx.ContextID);
        foreach (IContextProperty itfCtxProp in ctx.ContextProperties)
            Console.WriteLine("-> Ctx Prop: {0}", itfCtxProp.Name);
    }
}

[Synchronization]
public class SportsCarTS : ContextBoundObject {
    public SportsCarTS() {
        Context ctx = Thread.CurrentContext;
        Console.WriteLine("{0} object in context {1}", this.ToString(), ctx.ContextID);
        foreach (IContextProperty itfCtxProp in ctx.ContextProperties)
            Console.WriteLine("-> Ctx Prop: {0}", itfCtxProp.Name);
    }
}


class Program {
    static void Main(string[] args) {
        SportsCar sport = new SportsCar();
        Console.WriteLine();

        SportsCar sport2 = new SportsCar();
        Console.WriteLine();

        SportsCarTS synchroSport = new SportsCarTS();
        Console.ReadLine();
    }
}








14.38.ContextProperty
14.38.1.Context Manipulator