Vimos o ciclo de vida da página e como uma página pode conter diferentes controles. A própria página é instanciada como um objeto de controle. Todos os formulários da web são basicamente instâncias de classes de páginas ASP.NET. A classe page possui as seguintes propriedades extremamente úteis, que correspondem aos objetos internos:
sessão
aplicativo
esconderijo
perguntar
resposta
servidor
usuário
acompanhar
Discutiremos cada objeto no momento apropriado. Neste tutorial exploraremos o objeto Servidor, o objeto Solicitação e o objeto Resposta.
O objeto servidor no ASP.NET é uma instância da classe System.Web.HttpServerUtility. A classe HttpServerUtility fornece um grande número de propriedades e métodos para executar diferentes tarefas.
Os métodos e propriedades da classe HttpServerUtility são expostos por meio de objetos de servidor internos fornecidos pelo ASP.NET.
A tabela a seguir fornece uma série de propriedades da classe HttpServerUtility.
propriedade | descrever |
---|---|
Nome da máquina | Nome do computador servidor |
ScriptTimeOut | Obtém e define o valor do tempo limite da solicitação em segundos |
A tabela a seguir fornece alguns métodos importantes:
método | descrever |
---|---|
CriarObjeto(String) | Cria uma instância do objeto COM, verificada por seu ProgID. |
CriarObjeto(Tipo) | Cria uma instância de um objeto COM, verificada por seu Tipo. |
Igual (Objeto) | Determine se um objeto específico é consistente com um objeto existente. |
Executar(String) | Execute o caminho virtual especificado pelo aplicativo de processamento no contexto da solicitação atual. |
Executar(String, Booleano) | Execute o caminho virtual especificado pelo manipulador no contexto da solicitação atual, especificando se a QueryString e a coleção de formulários devem ser limpas. |
ObterÚltimoErro | Retorne a exceção anterior. |
GetType | Obtém o tipo de uma instância existente. |
CódigoHtml | Converta uma string comum em uma string HTML legal. |
HTMLDecode | Converta uma string HTML em uma string comum. |
ParaString | Retorna uma string representando o objeto atual. |
Transferir(String) | Para a solicitação atual, encerra a execução da página atual e inicia a execução de uma nova página especificando o caminho da URL da página. |
UrlDecode | Converta uma string de URL em uma string normal. |
UrlEncodeToken | Igual ao UrlEncode, mas contém dados codificados em Base64 em uma matriz de bytes. |
UrlDecodeToken | Funciona da mesma forma que UrlDecode, mas contém dados codificados em Base64 em uma matriz de bytes. |
MapPath | Retorna o caminho físico correspondente ao caminho do arquivo no servidor virtual especificado. |
Transferir | Transferir a execução do aplicativo atual para outra página da web. |
O objeto de solicitação é uma instância da classe System.Web.HttpRequest. Representa os valores e atributos da solicitação HTTP que permitem que a página seja carregada no navegador.
A informação apresentada por este objeto é encapsulada em uma abstração de nível superior (o modelo de controle web). No entanto, este objeto pode ajudar a inspecionar algumas informações, como navegadores de clientes e cookies.
A tabela a seguir fornece algumas propriedades dignas de nota do objeto de solicitação:
propriedade | descrever |
---|---|
Aceitar Tipos | Obtém uma matriz de strings de tipos aceitos MIME com suporte pelo usuário. |
Caminho da aplicação | Obtenha o caminho raiz real do aplicativo ASP.NET no servidor. |
Navegador | Obtém ou define informações sobre os recursos do navegador do usuário solicitante. |
Codificação de conteúdo | Obtém ou define a entidade do conjunto de caracteres. |
Comprimento do conteúdo | Especifica o comprimento em bytes do conteúdo enviado pelo cliente. |
ContentType | Obtém ou define o tipo de conteúdo MIME da solicitação recebida. |
Biscoitos | Obtenha o conjunto de cookies enviados pelo cliente. |
Caminho do arquivo | Obtenha o caminho real da solicitação atual. |
Arquivos | Obtém uma coleção de arquivos carregados pelo cliente em formato MIME multiparte. |
Forma | Obtém uma coleção de variáveis de formulário. |
Cabeçalhos | Obtém uma coleção de cabeçalhos HTTP. |
Método Http | Obtenha o método de transferência de dados HTTP usado pelo usuário (como GET, POST ou HEAD) |
Fluxo de entrada | Obtenha o conteúdo da entidade do HTTP recebido. |
ÉSecureConnection | Obtém um valor que indica se a conexão HTTP usa soquetes seguros (ou seja, HTTPS). |
String de consulta | Obtém uma coleção de variáveis de cadeia de caracteres de consulta HTTP. |
Url bruto | Obtenha o URL original da solicitação atual. |
Tipo de solicitação | Obtém ou define o método de transferência de dados HTTP (GET ou POST) usado pelo usuário. |
Variáveis do servidor | Obtém uma coleção de variáveis de servidor web. |
Bytes totais | Obtenha o número de bytes do fluxo de entrada existente. |
URL | Obtém informações sobre um URL solicitado existente. |
URLReferenciador | Obtém informações de URL sobre a solicitação anterior do cliente vinculada a uma URL existente. |
Agente do usuário | Obtém a cadeia de caracteres do agente do usuário original do navegador cliente. |
EndereçoHostdoUsuário | Obtenha o endereço IP do host do cliente remoto. |
NomeHostUsuário | Obtém o nome DNS do cliente remoto. |
Idiomas do usuário | Obtém uma matriz de cadeias de caracteres classificada de preferências de idioma do cliente. |
A tabela a seguir fornece alguns métodos importantes:
método | descrever |
---|---|
Leitura binária | Executa uma leitura binária do número especificado de bytes do fluxo de entrada atual. |
Igual (Objeto) | Determina se o objeto especificado é equivalente a um objeto existente. (herdado do objeto) |
GetType | Obtém o tipo de uma instância existente. |
MapImageCoordenadas | Desenha os parâmetros do formulário do campo de imagem recebido para os valores apropriados das coordenadas x e y. |
MapPath(String) | Desenha o caminho real especificado em um caminho físico. |
Salvar como | Armazenado em disco como uma solicitação HTTP. |
ParaString | Retorna uma string representando o objeto existente. |
ValidarInput | Faz com que a validação ocorra acessando a coleção de propriedades Cookies, Form e QueryString. |
O objeto de resposta representa a resposta do servidor à solicitação do usuário. É uma instância da classe System.Web.HttpResponse.
No ASP.NET, os objetos de resposta não desempenham nenhum papel importante no envio de texto HTML ao usuário porque os controles do lado do servidor possuem métodos aninhados e orientados a objetos para renderização.
Entretanto, o objeto HttpResponse fornece algumas funcionalidades importantes, como características do cookie e o método Redirect(). O método Response.Redirect() permite que o usuário seja transferido para outra página, seja dentro ou fora da aplicação. Requer um processo de ida e volta.
A tabela a seguir fornece algumas propriedades dignas de nota de objetos de resposta:
propriedade | descrever |
---|---|
Tampão | Obtém ou define um valor que indica se a saída é armazenada em buffer e enviada após a conclusão do respondente completo. |
BufferOutput | Obtém ou define um valor que indica se a saída será armazenada em buffer e enviada após a conclusão da página completa. |
Conjunto de caracteres | Obtém ou define o conjunto de caracteres HTTP do fluxo de saída. |
Codificação de conteúdo | Obtém ou define o conjunto de caracteres HTTP do fluxo de saída. |
ContentType | Obtém ou define o tipo HTTP MIME do fluxo de saída. |
Biscoitos | Obtenha a coleção de cookies correspondente. |
Expira | Obtém ou define o número de minutos antes que as páginas armazenadas em cache em um navegador expirem. |
Expira Absoluto | Obtém ou define a data e a hora absolutas em que as informações armazenadas em cache são removidas do cache. |
Codificação de cabeçalho | Obtém ou define um objeto de codificação que representa a codificação do fluxo de saída de cabeçalho existente. |
Cabeçalhos | Obtém uma coleção de cabeçalhos de resposta. |
EstáClienteConectado | Obtém um valor que indica se o usuário ainda está conectado ao servidor. |
Saída | Faz com que o texto de saída seja enviado para o fluxo de resposta HTTP. |
Fluxo de saída | Ativa a saída binária para o corpo do conteúdo HTTP da saída. |
RedirecionarLocalização | Obtém ou define o valor da posição do cabeçalho HTTP. |
Status | Defina a barra de status e devolva-a ao cliente. |
Código de status | Obtém ou define o código de status de saída HTTP retornado ao cliente. |
Descrição do status | Obtém ou define a cadeia de caracteres de status de saída HTTP retornada ao cliente. |
SubStatusCode | Obtém ou define um valor que limita o código de status de resposta. |
SuprimirConteúdo | Obtém ou define um valor que indica se o conteúdo HTTP deve ser enviado ao cliente. |
A tabela a seguir fornece alguns métodos importantes:
método | descrever |
---|---|
AdicionarCabeçalho | Adiciona um cabeçalho HTTP ao fluxo de saída. AddHeader é fornecido para compatibilidade com versões anteriores do ASP. |
AnexarCookie | A infraestrutura adiciona um cookie HTTP à coleção interna de cookies. |
AppendHeader | Adiciona um cabeçalho HTTP ao fluxo de saída. |
AppendToLog | Adicione informações de log personalizadas ao arquivo de log do Internet Information Services (IIS). |
BinárioWrite | Grava uma sequência de caracteres binários no fluxo de saída HTTP. |
LimparConteúdo | Limpa toda a saída do fluxo em buffer. |
Fechar | Feche o soquete do cliente. |
Fim | Envia toda a saída existente em buffer para o cliente, interrompe a execução da página e gera o evento EndRequest. |
Igual (Objeto) | Determina se o objeto especificado é equivalente a um objeto existente. |
Lavar | Envie toda a saída em buffer existente para o cliente. |
GetType | Obtém o tipo de uma instância existente. |
Fotos | Acrescenta um cabeçalho HTTP PICS-Label ao fluxo de saída. |
Redirecionar(String) | Redirecione a solicitação para um novo URL e especifique o novo URL. |
Redirecionar (String, Booleano) | Redirecione o cliente para um novo URL. Especifica o novo URL e se a página existente deve ser encerrada. |
Definir cookie | Atualize os cookies existentes na coleção de cookies. |
ParaString | Retorna uma string representando o objeto existente |
TransmitirArquivo(String) | Grava o arquivo especificado diretamente em um fluxo de saída de resposta HTTP sem buffer na memória. |
Escrever (Caracter) | Grava um caractere em um fluxo de saída de resposta HTTP. |
Escrever (Objeto) | Grava um objeto em um fluxo de resposta HTTP. |
Escrever(String) | Grava uma string em um fluxo de saída de resposta HTTP. |
WriteFile(String) | Grava o conteúdo do arquivo especificado diretamente em um fluxo de saída de resposta HTTP, como um bloco de arquivo. |
WriteFile(String, Booleano) | Grava o conteúdo do arquivo especificado diretamente em um fluxo de saída de resposta HTTP, como um bloco de memória. |
O exemplo simples a seguir possui um controle de caixa de texto que permite ao usuário inserir um nome, um botão que envia informações ao servidor e um controle de rótulo que exibe a URL do computador cliente.
Arquivos de conteúdo:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="server_side._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> Enter your name: <br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" /> <br /> <asp:Label ID="Label1" runat="server"/> </div> </form> </body></html>
Código Button1_Click após clique:
protected void Button1_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(TextBox1.Text)) { // Access the HttpServerUtility methods through // the intrinsic Server object. Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ". <br/> The url is " + Server.UrlEncode(Request.Url.ToString()) }}
Execute a página para ver os seguintes resultados: