4D v16Método base On Server Open Connection |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16
Método base On Server Open Connection
Método base On Server Open Connection
El Método base On Server Open Connection se llama una vez en el equipo servidor cada vez que un equipo 4D remoto inicia un proceso de conexión. El Método base On Server Open Connection NO se invoca por otro entorno 4D diferente de 4D Server. El Método base On Server Open Connection se llama cada vez que:
En cada caso con un 4D remoto, se inician tres procesos. Uno en la máquina cliente y otros dos en el equipo servidor. En la máquina cliente, el proceso ejecuta el código y envía las peticiones a 4D Server. En el equipo servidor, el proceso 4D Client mantiene el entorno de la base de datos del proceso cliente (las selecciones actuales y el bloqueo de registros para el proceso usuario) y responde a las peticiones enviadas por el proceso ejecutado en la máquina cliente. El proceso base 4D Client está a cargo de controlar el proceso 4D Client correspondiente. (*) A partir de 4D v13, por razones de optimización los procesos servidores (proceso apropiativo para los accesos al motor de la base y proceso cooperativo para el acceso al lenguaje) sólo se crean durante la ejecución del código del lado del cliente. Por ejemplo, estos son los detalles de una secuencia de código 4D que se ejecuta en un nuevo proceso cliente: // el proceso global comienza sin un nuevo proceso en el servidor, como un proceso local. Importante: las conexiones web y las conexiones SQL no provocan la ejecución del Método base On Server Open Connection. Cuando un navegador web se conecta a 4D Server, se llaman el Método de base On Web Authentication (si lo hay) y/o la Método base On Web Connection. Importante: cuando se inicia un procedimiento almacenado, el Método base On Server Open Connection NO se llama. Los Procedimientos almacenados son procesos servidor y no procesos 4D Client. Ellos ejecutan el código en el equipo servidor, pero no responden a las peticiones intercambiadas por 4D client (u otros clientes) y 4D Server. El Método base On Server Open Connection se ejecuta en el equipo servidor en el proceso 4D Client que provocó la llamada del método. Por ejemplo, si un 4D remoto se conecta a una base 4D Server interpretada, se inicia el proceso usuario, el proceso de diseño y el proceso de registro del cliente (por defecto). El Método base On Server Open Connection se ejecuta tres veces seguidas. La primera vez dentro del proceso principal, la segunda vez en el proceso de inscripción del cliente y la tercera vez en el proceso de diseño. Si los tres procesos son respectivamente el sexto, séptimo y octavo proceso a iniciar en el equipo servidor, y si llama Current process desde el Método base On Server Open Connection, la primera vez Current process devuelve 6, la segunda vez 7 y la tercera 8. Note que el Método base On Server Open Connection se ejecuta en el equipo servidor, al interior del proceso 4D Client en el servidor, independiente del proceso ejecutado en el cliente. Adicionalmente, en el momento en que se invoca el método, el proceso 4D Client no se ha nombrado aún (PROCESS PROPERTIES no devolverá en este momento el nombre del proceso 4D Client). El Método base On Server Open Connection no tiene acceso a la tabla de las variables proceso del proceso ejecutado en el client. Esta tabla reside en el equipo client, no en el equipo servidor. Cuando el Método base On Server Open Connection accede a una variable proceso, trabaja con una tabla de variables proceso particular, creada dinámicamente por el proceso 4D Client. 4D Server pasa tres parámetros de tipo Entero largo al Método base On Server Open Connection y espera un resultado Entero largo. El método debe por lo tanto ser declarado explícitamente con tres parámetros Entero largo así como también con un resultado de función Entero largo: C_LONGINT($0;$1;$2;$3) Si no devuelve un valor en $0, por consiguiente deja la variable indefinida o inicializada en cero, 4D Server estima que el método base acepta la conexión. Si no acepta la conexión, devuelve un valor no nulo en $0. Esta tabla detalla la información ofrecida por los tres parámetros pasados en el método base:
Estos números de referencia no son utilizables directamente como fuentes de información a pasar, por ejemplo, como parámetros a un comando 4D. Sin embargo, ofrecen una manera única de identificar un proceso 4D Client entre el Método base On Server Open Connection y el Método base On Server Close Connection. La combinación de estos valores es única en cualquier momento de una sesión 4D Server. Al guardar esta información en una tabla o en un array interproceso, los dos métodos base pueden intercambiar información. En el ejemplo al final de esta sección, los dos métodos base utilizan esta información para almacenar la fecha y hora de inicio y fin de una conexión en el mismo registro de una tabla. El siguiente ejemplo muestra cómo mantener un historial de las conexiones a la base de datos utilizando el Método base On Server Open Connection y utilizando el Método base On Server Close Connection. La tabla [Server Log] (mostrada a continuación) se utiliza para hacer seguimiento a los procesos de conexión: La información almacenada en esta tabla es administrada por el Método base On Server Open Connection y el Método base On Server Close Connection listado a continuación: ` Método base On Server Open Connection Estas son algunas entradas en [Server Log] mostrando varias conexiones remotas: El siguiente ejemplo evita una nueva conexión entre las 2 y 4 A.M. ` Método base On Server Open Connection
Ver también
|
PROPIEDADES
Producto: 4D
HISTORIA
Modificado: 4D v13 ARTICLE USAGE
Manual de 4D Server ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||