Como acessar os objetos do ASP.NET dentro de componentes VB.NET
É comum, em uma página ASP.NET, dispararmos classes e componentes criados em VB.NET para realizarem operações de negócio.
Mas eventualmente pode ocorrer desses componentes/classes precisarem acessar informações do ASP.NET. A questão é : Isso é possivel ? Sim !
Um componente consegue ver uma classe chamada HTTPCONTEXT. Através desta classe HTTPCONTEXT podemos obter outras classes para manipular os objetos do ASP.NET, tal como SESSION, APPLICATION, RESPONSE, REQUEST, etc.
Para usarmos mais facilmente a classe HTTPCONTEXT precisamos de um imports para system.web. Para o objeto de sessão precisaremos de um imports para system.web.SessionState.
Imports System.Web
Imports System.Web.SessionState
Public Sub TestHttpContext()
Dim objHttpContext As HttpContext
Dim objHttpResponse As HttpResponse
Dim objHttpRequest As HttpRequest
Dim objHttpApplication As HttpApplicationState
Dim objhttpSession As HttpSessionState
Dim strUserAgent As String
' Obtém o atual contexto da aplicação web
objHttpContext = HttpContext.Current()
' Obtém o objeto application
objHttpApplication = objHttpContext.Application
' Obtém o objeto Session
objhttpSession = objHttpContext.Session
' Obtém o objeto respose
objHttpResponse = objHttpContext.Response
' Obtém o objeto Request
objHttpRequest = objHttpContext.Request
' Aqui entraria o seu código
End Sub
Neste exemplo atribuímos os objetos a variáveis e posteriormente entraria o código para manipular esses objetos como for necessário. Claro que você não precisa utilizar todos, pode utilizar apenas aqueles dos quais realmente necessitar.