Example #1
0
        private static void OnLlamadaTermina(IAsyncResult res)
        {
            ObtenerCadena manipulador = ((AsyncResult)res).AsyncDelegate as ObtenerCadena;
            int           indice      = (int)res.AsyncState;
            string        resultado   = manipulador.EndInvoke(res);

            Log.Imprimir("miContenido.Llamada() #{0} concluyo. El resultado es \"{1}\"", indice, resultado);
        }
Example #2
0
        // Método que se ejecuta al terminar la llamada asincrona
        private static void OnLlamadaTermina(IAsyncResult res)
        {
            // Declaramos un manipulador del tipo asincronico
            ObtenerCadena manipulador = ((AsyncResult)res).AsyncDelegate as ObtenerCadena;
            // Guardamos el estado del indice de la llamada asincrona
            int indice = (int)res.AsyncState;
            // Guardamos el resultado obtenido por el manipulador
            string resultado = manipulador.EndInvoke(res);

            Log.Imprimir("miContenido.Llamada() #{0} concluyo. El resultado es\"{1}\"", indice, resultado);
        }
Example #3
0
 static void Main(string[] args)
 {
     RemotingConfiguration.Configure("Cliente.exe.config");
     Componente.Componente miComponente = new Componente.Componente();
     Log.Imprimir("Se creo un objeto remoto. Es Proxy? {0}", (RemotingServices.IsTransparentProxy(miComponente) ? "SI" : "NO"));
     for (int i = 1; i <= NUMERO_DE_INVOCACIONES; ++i)
     {
         Log.Imprimir("Invocando a miComponente.Llamada() #{0}...", i);
         ObtenerCadena manipulador = new ObtenerCadena(miComponente.Llamada);
         manipulador.BeginInvoke("Desde Cliente", new AsyncCallback(OnLlamadaTermina), i);
     }
     Log.EsperarParaTerminar("Presione ENTER para salir...");
 }
Example #4
0
        static void Main(string[] args)
        {
            // Lee el archivo de configuración y lo aplica en el programa
            RemotingConfiguration.Configure("Cliente.exe.config", false);
            // Instanciamos un componente remoto
            Componente.Componente miComponente = new Componente.Componente();
            Log.Imprimir("Se creo un objeto remoto. Es Proxy? {0}",
                         (RemotingServices.IsTransparentProxy(miComponente) ? "SI" : "NO"));

            // Realizamos la invocacion de 5 veces de la llamada a nuestro cliente como una llamada asincrona
            for (int i = 1; i <= NUMERO_DE_INVOCACIONES; ++i)
            {
                Log.Imprimir("Invocando a miComponente.Llamada() #{0}...", i);
                ObtenerCadena manipulador = new ObtenerCadena(miComponente.Llamada);
                manipulador.BeginInvoke("Desde Cliente", new AsyncCallback(OnLlamadaTermina), i);
            }
            Log.EsperarParaTerminar("Presione ENTER para salir...");
        }