Como compartilhar variáveis ​​de aplicativo e sessão entre Asp e Asp.net

A coexistência entre o ASP tradicional e ASP.NET não cria problemas nos servidores Microsoft desde a versão 2000.

É suficiente habilitar o suporte ASP e instalar o .NET Framework para poder aproveitar as vantagens de ambas as tecnologias em seus aplicativos da web.

Os problemas surgem na necessidade de usar, trocar, ler as variáveis ​​de sessão e aplicativo de ambas as tecnologias.

Como compartilhar variáveis ​​de aplicativo e sessão entre Asp e Asp.net

Como compartilhar variáveis ​​de aplicativo e sessão entre Asp e Asp.net



As variáveis ​​de ambas as tecnologias usam áreas de memória dentro de seu ambiente de execução e não têm nada em comum exceto o nome, na verdade as variáveis ​​criadas pelo ASP serão lidas apenas por esta tecnologia, enquanto aquelas criadas pelo ASP.NET serão visíveis apenas neste ambiente. Como podemos consertar isso?

O truque, trivial mas funcional, está aí: é suficiente solicitar uma página ASP de uma página ASP.NET para ler o conteúdo de uma variável Sessão e Inscrição desse ambiente, e vice-versa, a fim de ler os objetos presentes nas páginas .NET do ASP.

Vamos tentar ler uma variável de aplicativo presente no ambiente ASP tradicional de uma página ASP.NET. Vamos começar a escrever uma página ASP contendo esse código, dando a ela o nome de "ReadAsp.asp":

<%
em caso de erro, retomar próximo

tipo = solicitação (“tipo”)

nome = solicitação (“nome”)

se tipo = ”sessão” então

se Sessão (nome) = ”” então

Response.Write (“”)

outro

Response.Write (Sessão (nome))

endif

endif

se tipo = ”aplicativo” então

ifApplication (name) = ”” então

Response.Write (“”)

outro

Response.Write (aplicativo (nome))

endif

endif


Response.End ()

%>

Este código, que também está presente no exemplo anexado a este artigo, uma vez chamado, verifica que tipo de variável você deseja ler e seu nome, em seguida, exibe-a com um Response.Write simples. Por exemplo, para ler e exibir o conteúdo da variável de aplicativo "exemplo", basta chamar esta página com os parâmetros desejados:


http://localhost/ReadAsp.asp?type=Application&name=esempio</a>

Em nossa página ASP.NET, é suficiente usar a técnica chamada “captura de URL” para chamar essa página ASP e buscar seu conteúdo. Se de nossa página ASP.NET quisermos ler o conteúdo da variável de aplicativo "exemplo" usada em ASP, podemos escrever:

HttpWebRequest myRequest = (HttpWebRequest) WebRequest.Create (“http: //localhost/ReadAsp.Asp? Type = Application & name = esempio”);

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

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

content_variable = sr.ReadToEnd ();

Simples, não é? Para fazer a mesma coisa, mas a partir de uma página ASP, precisamos escrever uma página ASP.NET chamada "ReadNet.aspx" com este conteúdo:


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

void Page_Load () {

nome da string = Solicitação [“nome”];

string tipo = Solicitação [“tipo”];

if (tipo == ”sessão”)

{

if (Sessão [nome] == null) Response.Write (“”);

outro

Response.Write (Session [nome] .ToString ());

}

if (tipo == ”aplicativo”)

{

if (Aplicativo [nome] == null) Response.Write (“”);

outro

Response.Write (Application [nome] .ToString ());
}

}

Portanto, para obter o conteúdo de uma variável de aplicativo usada no ambiente .NET de nossa página ASP:


Dim objXMLHTTP, StrURL

StrURL = “http: //localhost/ReadNet.aspx? Type = application & name = esempio”

Defina objXMLHTTP = Server.CreateObject (“MSXML2.ServerXMLHTTP”)

objXMLHTTP.Open “GET”, StrURL, falso

StrCookie = Request.ServerVariables (“HTTP_COOKIE”) '<- queste due righe verranno spiegate di seguito

objXMLHTTP.setRequestHeader “COOKIE”, StrCookie '<…

objXMLHTTP.Send

contenuto_application = CStr (objXMLHTTP.ResponseText)

Definir xml = Nothing

Adicione um comentário do Como compartilhar variáveis ​​de aplicativo e sessão entre Asp e Asp.net
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.