Csharp/CSharp Tutorial/Development/Context — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 12:14, 26 мая 2010
Contextual info
using System;
using System.Runtime.Remoting.Contexts;
using System.Threading;
class MainClass
{
static void Main(string[] args)
{
Context ctx = Thread.CurrentContext;
Console.WriteLine("Info about context {0}", ctx.ContextID);
foreach(IContextProperty itfCtxProp in ctx.ContextProperties)
Console.WriteLine("-> Ctx Prop: {0}", itfCtxProp.Name);
}
}
Info about context 0 -> Ctx Prop: LeaseLifeTimeServiceProperty
Contextual information: ContextBoundObject
using System;
using System.Runtime.Remoting.Contexts;
using System.Threading;
[Synchronization]
public class SynchContextClass : ContextBoundObject
{
public SynchContextClass()
{
Context ctx = Thread.CurrentContext;
Console.WriteLine("Info about context {0}", ctx.ContextID);
foreach(IContextProperty itfCtxProp in ctx.ContextProperties)
Console.WriteLine("-> Ctx Prop: {0}", itfCtxProp.Name);
}
}
class MainClass
{
static void Main(string[] args)
{
SynchContextClass synchObj = new SynchContextClass();
}
}
Info about context 1 -> Ctx Prop: LeaseLifeTimeServiceProperty -> Ctx Prop: Synchronization
Get name of current AppDomain and context ID
using System;
using System.Threading;
class MainClass
{
// [MTAThread]
[STAThread]
static void Main(string[] args)
{
Thread primaryThread = Thread.CurrentThread;
primaryThread.Name = "ThePrimaryThread";
Console.WriteLine("Name of current AppDomain: {0}", Thread.GetDomain().FriendlyName);
Console.WriteLine("ID of current Context: {0}", Thread.CurrentContext.ContextID);
}
}
Name of current AppDomain: main.exe ID of current Context: 0