CULTURA

Cómo compartir variables de aplicación y sesión entre Asp y Asp.net

La convivencia entre los ÁSPID tradicional y ASP.NET no crea problemas en los servidores de Microsoft desde la versión 2000.

Es suficiente habilitar el soporte ASP e instalar .NET Framework para poder aprovechar ambas tecnologías en sus aplicaciones web.

Los problemas surgen en la necesidad de utilizar, intercambiar, leer las variables de Sesión y Aplicación de ambas tecnologías.

Cómo compartir variables de aplicación y sesión entre Asp y Asp.net

cómo compartir las variables de aplicación y sesión entre Asp y Asp.net

Las variables de ambas tecnologías utilizan áreas de memoria dentro de su entorno de ejecución y no tienen nada en común excepto el nombre, de hecho las variables creadas por ASP serán legibles solo por esta tecnología mientras que las creadas por ASP.NET serán visibles solo dentro de este entorno. como podemos arreglar esto?

El truco, trivial pero funcional, está ahí: basta con solicitar una página ASP desde una página ASP.NET para leer el contenido de una variable Sesión es Solicitud de ese entorno, y viceversa para poder leer los objetos presentes en las páginas .NET desde la ASP.

Intentemos leer una variable de aplicación presente en el entorno ASP tradicional desde una página ASP.NET. Comencemos a escribir una página ASP que contenga este código dándole el nombre «ReadAsp.asp»:

<%en caso de error reanudar siguiente

type = request («tipo»)

nombre = solicitud («nombre»)

si tipo = «sesión», entonces

si Sesión (nombre) = ”” entonces

Response.Write («»)

demás

Response.Write (Sesión (nombre))

terminara si

terminara si

si tipo = «aplicación», entonces

ifApplication (nombre) = ”” entonces

Response.Write («»)

demás

Response.Write (Aplicación (nombre))

terminara si

terminara si

Response.End ()

%>

Este código, que también es el que está presente en el ejemplo adjunto a este artículo, una vez llamado verifica qué tipo de variable desea leer y su nombre, luego lo muestra con un Response.Write trivial. Por ejemplo, para leer y visualizar el contenido de la variable de Aplicación «ejemplo», basta con llamar a esta página con los parámetros deseados:

http: //localhost/ReadAsp.asp? type = Application & name = example

Desde nuestra página ASP.NET es suficiente usar la técnica llamada «captura de URL» para llamar a esa página ASP y buscar su contenido. Si desde nuestra página ASP.NET queremos leer el contenido de la variable de Aplicación «ejemplo» utilizada en ASP, podemos escribir:

HttpWebRequest myRequest = (HttpWebRequest) WebRequest.Create («http: //localhost/ReadAsp.Asp? Type = Application & name = example»);

HttpWebResponse myResponse = (HttpWebResponse) myRequest.GetResponse ();

StreamReader sr = nuevo StreamReader (myResponse.GetResponseStream ());

content_variable = sr.ReadToEnd ();

Sencillo, ¿no es así? Para hacer lo mismo pero desde una página ASP, necesitamos escribir una página ASP.NET llamada «ReadNet.aspx» con este contenido:

<% @ Page language = ”c #”%>

Entonces, para obtener el contenido de una variable de aplicación utilizada en el entorno .NET de nuestra página ASP:

Dim objXMLHTTP, StrURL

StrURL = «http: //localhost/ReadNet.aspx? Type = application & name = example»

Establecer objXMLHTTP = Server.CreateObject («MSXML2.ServerXMLHTTP»)

objXMLHTTP.Open «GET», StrURL, false

StrCookie = Request.ServerVariables («HTTP_COOKIE») ‘<- estas dos líneas se explicarán a continuación

objXMLHTTP.setRequestHeader «COOKIE», StrCookie ‘<...

objXMLHTTP.Send

content_application = CStr (objXMLHTTP.ResponseText)

Establecer xml = Nada

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar