• No se han encontrado resultados

PERSISTE Y CAMPUS VIRTUAL

N/A
N/A
Protected

Academic year: 2021

Share "PERSISTE Y CAMPUS VIRTUAL"

Copied!
9
0
0

Texto completo

(1)

PERSISTE Y CAMPUS VIRTUAL

Introducción

Los nuevos módulos de campus virtual se están desarrollando con .net y tienen que convivir con los antiguos, que están en asp. Para que funcionen se tienen que mantener las variables de sesión con los datos del usuario que se ha identificado. No es posible compartir variables de sesión entre distintas plataformas. Para ello se ha creado la clase ClasePersiste, que lo que hace es permitir el intercambio de datos entre diferentes plataformas

ClasePersiste

La ClasePersiste tiene como objetivo el poder pasar de una aplicación a otra, sin necesidad de volver a identificarnos, y traspasando los datos que necesitemos con total seguridad.

Se puede usar entre aplicaciones .NET o entre aplicaciones ASP Clásico (lo más normal en la mayoría de los casos) o incluso entre aplicaciones PHP.

Se ha rediseñado por completo la clase para cumplir con los requisitos de las directrices de programación explicada en los cursos.

Incluir la DLL ClasePersiste

Primero debemos hacer una referencia a la DLL. Sobre el proyecto, botón derecho, Agregar referencia.

(2)

Ilustración 1: Agregar referencia a ClasePersiste

Ahora debemos hacer referencia desde nuesto ASPX al Namespace en el que se encuentra nuestra clase ("ua").

using ua;

Creación

Como cualquier otro objeto lo crearemos mediante una llamada a new más el nombre de la clase.

ClasePersiste persiste = new ClasePersiste();

Uso de ClasePersiste

Almacenar datos

Los datos los dividimos en 6 grupos: Form, QueryString, ServerVariables, Session, Application y datos definidos por el usuario.

(3)

Podemos elegir almacenar todos estos datos o elegir los que queramos.

Para almacenar todos los datos se utiliza el método Guarda. Almacena el contenido de las colecciones Form, QueryString, ServerVariables, Session, Application y la colección de usuario creada con los métodos Escribe y EscribePorTipo.

Devuelve el Id de base de datos asignado al registro. Si devuelve 0 es que se ha producido algún error.

Los datos sólo se podrán recuperar con el método Recupera. Sintaxis:

var idDatos = persiste.Guarda();

Parámetros:

idDatos: Identificador de los datos guardados, necesario para luego recuperarlos

Selección de colecciones que se van a guardar

Podemos especificar que colecciones de las antes mencionadas se van a guardar y cuales no. Por defecto sólo se guardan las variables definidas por el usuario.

Para modificar los valores por defecto se se utilizan los métodos:

GuardaForm: Indicamos que queremos almacenar todas las variables Form (POST)

GuardaQueryString: Indicamos que queremos almacenar todas las variables QueryString (GET)GuardaServerVariables: Indicamos si guardamos los datos ServerVariables

GuardaSession: Indicamos que queremos almacenar todas las variables Session • GuardaApplication: Indicamos que queremos almacenar todas las variables

Application Ejemplo:

persiste.GuardaSession = true;

Inclusión de datos particulares

En vez de guardar todas las colecciones o todos los datos de una colección una mejor práctica es almacenar sólo los datos que necesitemos. Sean de la colección que sean. Para ello se utilizan los métodos:

(4)

Escribe

Añade un dato a la colección de usuario, incluye el valor. No se especifica el tipo. Los parámetros que recibe son:

Nombre: Nombre de la variable que queremos añadir • Valor: Valor de la variable

void Escribe(string Nombre, string Valor) Ejemplo:

var persiste = new ClasePersiste(); persiste.Escribe("nombre","Sergio");

EscribePorTipo

Igual que el método Escribe pero le indicamos el tipo de variable. Los parámetros que recibe son:

Nombre: Nombre de la variable que queremos añadir • Valor: Valor de la variable

Tipo: Tipo de la variable:

Q – QueryString F – Form (Post) V – Server S – Session A – Application

void EscribePorTipo(string Nombre, string Valor, string Tipo) Ejemplo:

var persiste = new ClasePersiste();

(5)

Lectura de datos almacenados

Una vez hemos almacenado los datos podemos leerlos desde cualquier otra aplicación simplemente sabiendo el identificador que nos ha devuelto el método Guarda. Para leer en modo genérico utilizaremos el método Recupera.

Recupera lee de la BD los valores del identificador que recibe como parametro y lo guarda en las colecciones. El único parámetro que necesita es el identificador que identifica la sesión a recuperar.

void Recupera(string IdSession)

Ejemplo:

var persiste = new ClasePersiste(); persiste.Recupera(idDato);

Para leer datos específicos utilizaremos los métodos Lee y LeePorTipo de forma análoga a los métodos de escritura Escribe y EscribePorTipo

Siempre se llaman después de invocar a Recupera

Lee

Devuelve el valor de un dato. Al no especificar el tipo busca en este orden: 1. Sin tipo (general)

2. QueryString 3. Form (Post) 4. Session 5. Application 6. Server

Como parámetro recibe el nombre de la variable que queremos leer string Lee(string nombre)

(6)

LeePorTipo

Devuelve el valor de un dato especificando el tipo. Siempre se llama después de invocar a Recupera. Recibe como parámetros:

Nombre: Nombre de la variable que queremos leer Tipo: Tipo de la variable:

Q – QueryString F - Form (Post) V – Server S – Session A - Application

public string LeePorTipo(string Nombre, string Tipo)

Borrado de los datos de la BD

Por defecto cuando se recuperan los datos almacenados estos se borran de la base de datos, por lo que ya no se pueden volver a recuperar. Este es el comportamiento normal, ya que una vez pasadas las variables de una aplicación a otra ya no es necesario mantenerlos en la base de datos, que de otra forma creceria innecesariamente.

Para casos particulares esta característica se puede cambiar mediante la propiedad BorrarDatos.

BorrarDatos

Indicamos que los datos no se deben borrar una vez leídos. Por defecto, y por medidas de seguridad, los borra.

bool BorrarDatos por defecto está a true

Si hemos desactivado esta característica podemos borrar de forma manual los datos de la base de datos pasando le el identificador al método BorrarBatosBD

(7)

void BorrarDatosBD(Int32 id)

Gestión de variables de sesión GeneraVariablesSession

Recuperamos todas las variables sesión y adecuamos aquellas que sean delicadas: cadena de conexión

void GeneraVariablesSession()

GeneraVariableSession

Recuperamos una variable sesión. En caso de que no exista la inicializa a "" nombreVariable: variable a recuperar

void GeneraVariableSession(string nombreVariable)

Propiedades y métodos de apoyo

NumeroParametros

Nos indica el Número de parámetros que hay almacenados int NumeroParametros

LimpiaDatos

Vacía el contenido de TODOS los diccionarios para comenzar de cero a asignar variables void LimpiaDatos()

(8)

Encriptación

Es importante encriptar el identificador de los datos guardados y desencriptarlo antes de utilizarlo, ya que normalmente ese dato va por query string y se puede leer. Para ello la ClasePersiste dispone de dos métodos.

Encriptar

Encripta la cadena que se le envia como parámetro y la devuelve encriptada string Encriptar(string Texto)

Desencriptar

Desencripta la cadena que se le envia como parámetro y la devuelve desencriptada string Desencriptar(string Texto)

(9)

Aplicaciones .NET en Campus Virtual

El principal problema que surge a la hora de crear nuevos módulos para Campus Virtual en .net es la integración con el antiguo entorno desarrollado en asp. Sobretodo el mantenimiento de las varibles de sesión que contienen los datos del usuario.

Hasta ahora se estaban creando los módulos de .net en una carpeta llamada WebCVNet. pero esta práctica no ha resultado correcta.

• Cada aplicación tendrá su propia carpeta, ya no estará dentro de WebCvNet.

• Dentro de cada aplicación se creará una carpeta CV para los aspx de Campus virtual si la aplicación tiene módulos para este. Si la aplicación es pura de CV irá en el raiz. • Los datos de session y demás se pasarán mediante ClasePersiste en un asp dentro de

WebCV

• En el web config de la aplicación habrá que poner en la seccion system.web: <system.web>

<sessionState cookieName="ASP.NETCV_SessionId"></sessionState>

para que cuando se salga de campus virtual se eliminen todas las varibles de sesión de sus aplicaciones.

Referencias

Documento similar

Desde esta perspectiva y con las notas que indicamos, nuestro ensayo apunta desde la moda hacia la modernidad, como modo, y manera, para la acción del que servirse para llegar a

Entre ellas, el campus virtual con todas sus posibilidades como hemos mostrado previamente, es una herramienta muy importante para conseguir una relación más

Los resultados se almacenaron tanto en la base de datos de SIETTE como en el campus virtual, y fueron tenidos en cuenta para la evaluación continua del alumno.. Realización de

Hoja de croquis (descargarla de Campus virtual) FASE 6ª Cuestionario de los alumnos sobre el trabajo de campo en campus virtual FASE 7ª Envío del croquis por cada alumno a

Finalmente indicamos que el orden previsto de dificultad de los problemas, dado por la tipología de Noelting (1980a y b) según las fracciones incluidas en el ítem no se conservó

En caso de requerir el Resumen informativo o calendario de pago en físico, puedes solicitarlo sin ningún costo, llamando a la línea de atención al cliente o visitando nuestro

Al finalizar el formulario de inscripción, aparecerá un mensaje que te indicará si el proceso fue exitoso. Luego, descarga el recibo de pago en el botón que te indicamos... En

Se sugiere que a los Centros y Departamentos se les reconozcan facultades de iniciativa para, a la vista de los resultados de la oportuna evaluación, mejorar la docencia,