示例#1
0
文件: Program.cs 项目: pepipe/ISEL
 public void method(MyAgileClass acobj)
 {
     // recebe um objecto agile context como argumento
     Context ctx = Thread.CurrentContext;
     Console.WriteLine("Ctx Bound Method: ContextID do objecto MyContextBoundClass: {0}", ctx.ContextID);
     Console.WriteLine("Ctx Bound Method: vai invocar o método no objecto Agile recebido como argumento");
     Console.WriteLine("Resposta de AgClMeth:" + acobj.AgClMeth("ola"));
 }
示例#2
0
        static void Main(string[] args)
        {
            MyContextBoundClass myBound = new MyContextBoundClass();
            MyAgileClass myAgile = new MyAgileClass();

            // Em que contexto estão ?
            Console.WriteLine("mybound está fora do contexto corrente ? {0}",
                 RemotingServices.IsObjectOutOfContext(myBound)); // True
            Console.WriteLine("myAgile está fora do contexto corrente ? {0}",
                 RemotingServices.IsObjectOutOfContext(myAgile)); // False
            Console.WriteLine();
            // São referência directa ou proxies ?
            Console.WriteLine("\nmyBound é um proxy? {0}",
                 RemotingServices.IsTransparentProxy(myBound)); //True
            Console.WriteLine("myAgile é um proxy? {0}",
                RemotingServices.IsTransparentProxy(myAgile)); // False
            Console.WriteLine();

            string str = myAgile.AgClMeth("ole"); Console.WriteLine("Resposta de AgClMeth:"+str);
            myBound.method(myAgile);
        }