Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
ASP.NET Web Forms faz parte do framework de aplicações web ASP.NET e está incluído no Visual Studio. É um dos quatro modelos de programação que pode usar para criar aplicações web ASP.NET, os outros são ASP.NET MVC, ASP.NET Web Pages e ASP.NET Single Page Applications.
Web Forms são páginas que os seus utilizadores solicitam através do seu navegador. Estas páginas podem ser escritas usando uma combinação de HTML, script-cliente, controlos de servidor e código de servidor. Quando os utilizadores solicitam uma página, esta é compilada e executada no servidor pelo framework, e depois o framework gera a marcação HTML que o navegador pode renderizar. Uma página ASP.NET Web Forms apresenta informação ao utilizador em qualquer navegador ou dispositivo cliente.
Usando o Visual Studio, pode criar ASP.NET formulários web. O Visual Studio Integrated Development Environment (IDE) permite-lhe arrastar e largar os controlos do servidor para organizar a sua página de Web Forms. Depois podes facilmente definir propriedades, métodos e eventos para controlos na página ou na própria página. Estas propriedades, métodos e eventos são usados para definir o comportamento, a aparência e a sensação da página web, entre outros. Para escrever código de servidor para gerir a lógica da página, podes usar uma linguagem .NET como Visual Basic ou C#.
Observação
ASP.NET e a documentação do Visual Studio abrange várias versões. Tópicos que destacam funcionalidades de versões anteriores podem ser úteis para as suas tarefas e cenários atuais usando as versões mais recentes.
ASP.NET Formulários Web são:
- Baseado na tecnologia Microsoft ASP.NET, em que o código que corre no servidor gera dinamicamente a saída da página Web para o navegador ou dispositivo cliente.
- Compatível com qualquer navegador ou dispositivo móvel. Uma página Web ASP.NET renderiza automaticamente o HTML correto compatível com o navegador para funcionalidades como estilos, layout, e assim por diante.
- Compatível com qualquer linguagem suportada pelo runtime da linguagem comum .NET, como Microsoft Visual Basic e Microsoft Visual C#.
- Construído sobre o Microsoft .NET Framework. Isto proporciona todos os benefícios do quadro, incluindo um ambiente gerido, segurança de tipos e herança.
- Flexível porque podes adicionar controlos criados pelo utilizador e de terceiros.
ASP.NET Formulários Web oferecem:
- Separação de HTML e outro código de interface da lógica da aplicação.
- Um conjunto rico de controlos de servidor para tarefas comuns, incluindo acesso a dados.
- Ligação de dados poderosa, com excelente suporte de ferramentas.
- Suporte para scripts do lado do cliente que são executados no navegador.
- Suporte para uma variedade de outras capacidades, incluindo encaminhamento, segurança, desempenho, internacionalização, testes, depuração, gestão de erros e gestão de estados.
ASP.NET Web Forms ajuda a superar desafios
A programação de aplicações web apresenta desafios que normalmente não surgem ao programar aplicações tradicionais baseadas em clientes. Entre os desafios estão:
- Implementar uma interface web rica - Pode ser difícil e tedioso desenhar e implementar uma interface usando funcionalidades básicas de HTML, especialmente se a página tiver um layout complexo, uma grande quantidade de conteúdo dinâmico e objetos interativos completos para o utilizador.
- Separação entre cliente e servidor - Numa aplicação Web, o cliente (browser) e o servidor são programas diferentes, muitas vezes a correr em computadores distintos (e até em sistemas operativos distintos). Consequentemente, as duas metades da aplicação partilham muito pouca informação; Eles podem comunicar, mas normalmente trocam apenas pequenos pedaços de informação simples.
- Execução sem estado - Quando um servidor Web recebe um pedido para uma página, encontra a página, processa-a, envia-a para o navegador e depois descarta toda a informação da página. Se o utilizador solicitar novamente a mesma página, o servidor repete toda a sequência, reprocessando a página do zero. Por outras palavras, um servidor não tem memória das páginas que processou — as páginas são sem estado. Portanto, se uma aplicação precisar de manter informação sobre uma página, a sua natureza sem estado pode tornar-se um problema.
- Capacidades desconhecidas do cliente - Em muitos casos, as aplicações Web são acessíveis a muitos utilizadores através de diferentes navegadores. Os navegadores têm capacidades diferentes, tornando difícil criar uma aplicação que corra igualmente bem em todos eles.
- Complicações com o acesso a dados - Ler e escrever numa fonte de dados em aplicações Web tradicionais pode ser complicado e consome muitos recursos.
- Complicações com a escalabilidade – Em muitos casos, aplicações Web concebidas com métodos existentes não cumprem os objetivos de escalabilidade devido à falta de compatibilidade entre os vários componentes da aplicação. Este é frequentemente um ponto de falha comum para aplicações sob um ciclo de crescimento intenso.
Enfrentar estes desafios para aplicações Web pode exigir tempo e esforço substanciais. ASP.NET Web Forms e o framework ASP.NET abordam estes desafios das seguintes formas:
- Modelo de objeto intuitivo e consistente – A estrutura de ASP.NET páginas apresenta um modelo de objetos que lhe permite pensar nos seus formulários como uma unidade, e não como peças separadas de cliente e servidor. Neste modelo, pode programar a página de forma mais intuitiva do que nas aplicações Web tradicionais, incluindo a capacidade de definir propriedades para os elementos da página e responder a eventos. Além disso, ASP.NET controlos de servidor são uma abstração do conteúdo físico de uma página HTML e da interação direta entre navegador e servidor. Em geral, pode usar os controlos do servidor da mesma forma que trabalharia com controlos numa aplicação cliente sem ter de pensar em como criar o HTML para apresentar e processar os controlos e o seu conteúdo.
- Modelo de programação orientada a eventos - ASP.NET Formulários Web trazem para as aplicações Web o modelo familiar de escrita de manipuladores de eventos para eventos que ocorrem tanto no cliente como no servidor. O framework de páginas ASP.NET abstrai este modelo de tal forma que o mecanismo subjacente de capturar um evento no cliente, transmiti-lo ao servidor e chamar o método apropriado é totalmente automático e invisível para si. O resultado é uma estrutura de código clara e facilmente escrita que suporta o desenvolvimento orientado por eventos.
- Gestão intuitiva do estado - O framework ASP.NET page trata automaticamente da tarefa de manter o estado da sua página e dos seus controlos, fornecendo-lhe formas explícitas de manter o estado da informação específica da aplicação. Isto é conseguido sem uso intensivo de recursos do servidor e pode ser implementado com ou sem enviar cookies para o navegador.
- Aplicações independentes do navegador - A framework de páginas ASP.NET permite-lhe criar toda a lógica da aplicação no servidor, eliminando a necessidade de codificar explicitamente para as diferenças entre navegadores. No entanto, ainda permite tirar partido das funcionalidades específicas do navegador, escrevendo código do lado do cliente para proporcionar melhor desempenho e uma experiência mais rica ao cliente.
- Suporte de tempo de execução para a Linguagem Comum do .NET Framework - O framework de páginas ASP.NET é construído sobre a .NET Framework, portanto, toda a framework está disponível para qualquer aplicação ASP.NET. As suas aplicações podem ser escritas em qualquer linguagem compatível com o runtime. Além disso, o acesso aos dados é simplificado utilizando a infraestrutura de acesso a dados fornecida pelo .NET Framework, incluindo ADO.NET.
- Desempenho escalável do servidor .NET Framework - O framework de ASP.NET páginas permite escalar a sua aplicação Web de um computador com um único processador para uma fazenda web multi-computadores de forma limpa e sem alterações complicadas à lógica da aplicação.
Funcionalidades do ASP.NET Web Forms
- Controlos de servidor – Os controlos de servidor ASP.NET são objetos nas páginas Web ASP.NET que funcionam quando a página é solicitada e que geram a marcação para o navegador. Muitos controlos do servidor Web são semelhantes a elementos HTML familiares, como botões e caixas de texto. Outros controlos abrangem comportamentos complexos, como controlos de calendário, e controlos que pode usar para se ligar a fontes de dados e exibir dados.
- Páginas Mestre – ASP.NET páginas mestres permitem-lhe criar um layout consistente para as páginas da sua aplicação. Uma única página-mestre define o aspeto, a sensação e o comportamento padrão que pretende para todas as páginas (ou um grupo de páginas) na sua aplicação. Pode então criar páginas de conteúdo individuais que contenham o conteúdo que pretende mostrar. Quando os utilizadores solicitam as páginas de conteúdo, estas fundem-se com a página-mestre para produzir uma saída que combina o layout da página-mestre com o conteúdo da página de conteúdo.
- Trabalhar com Dados - ASP.NET oferece muitas opções para armazenar, recuperar e exibir dados. Numa aplicação ASP.NET Web Forms, utiliza-se controlos encadernados por dados para automatizar a apresentação ou introdução de dados em elementos da interface da página web, como tabelas, caixas de texto e listas suspensas.
- Associação - ASP.NET Identidade armazena as credenciais dos seus utilizadores numa base de dados criada pela aplicação. Quando os seus utilizadores iniciam sessão, a aplicação valida as suas credenciais ao ler a base de dados. A pasta de Conta do seu projeto contém os ficheiros que implementam as várias partes da adesão: registo, início de sessão, alteração de palavra-passe e autorização de acesso. Além disso, ASP.NET Web Forms suporta OAuth e OpenID. Estas melhorias de autenticação permitem que os utilizadores iniciem sessão no seu site usando credenciais existentes, a partir de contas como Facebook, Twitter, Windows Live e Google. Por defeito, o modelo cria uma base de dados de membros usando um nome de base de dados predefinido numa instância do SQL Server Express LocalDB, o servidor de base de dados de desenvolvimento que vem com o Visual Studio Express 2013 para Web.
- Script do Cliente e Frameworks de Cliente – Pode melhorar as funcionalidades baseadas em servidor do ASP.NET incluindo funcionalidades de script do lado do cliente nas páginas de formulários Web do ASP.NET. Pode usar o script cliente para fornecer uma interface de utilizador mais rica e responsiva aos utilizadores. Também pode usar o script cliente para fazer chamadas assíncronas ao servidor Web enquanto uma página está a correr no navegador.
- Roteamento - O encaminhamento de URLs permite-lhe configurar uma aplicação para aceitar URLs de pedidos que não correspondem a ficheiros físicos. Um URL de pedido é simplesmente o URL que um utilizador insere no seu navegador para encontrar uma página no seu site. Utiliza-se o encaminhamento para definir URLs que sejam semanticamente significativas para os utilizadores e que possam ajudar na otimização para motores de busca (SEO).
- Gestão de Estado - ASP.NET Web Forms inclui várias opções que o ajudam a preservar dados tanto por página como a nível da aplicação.
- Segurança – Uma parte importante do desenvolvimento de uma aplicação mais segura é compreender as ameaças a ela. A Microsoft desenvolveu uma forma de categorizar ameaças: Falsificação, Manipulação, Repudiação, Divulgação de Informação, Negação de Serviço, Elevação de privilégio (STRIDE). No ASP.NET Web Forms, pode adicionar pontos de extensibilidade e opções de configuração que lhe permitem personalizar vários comportamentos de segurança nos ASP.NET Web Forms.
- Desempenho – O desempenho pode ser um fator chave num site ou projeto bem-sucedido. ASP.NET Web Forms permite-lhe modificar o desempenho relacionado com o processamento de controlo de páginas e servidores, gestão de estados, acesso a dados, configuração e carregamento de aplicações, e práticas eficientes de codificação.
- Internacionalização - ASP.NET Web Forms permite-lhe criar páginas web que podem obter conteúdo e outros dados com base na definição de idioma preferida do navegador ou com base na escolha explícita de idioma do utilizador. O conteúdo e outros dados são designados por recursos e esses dados podem ser armazenados em ficheiros de recursos ou outras fontes. Numa página ASP.NET Web Forms, configura os controlos para obter os valores das propriedades dos recursos. Em tempo de execução, as expressões de recursos são substituídas por recursos provenientes do ficheiro de recurso localizado apropriado.
- Depuração e Gestão de Erros - ASP.NET inclui funcionalidades para ajudar a diagnosticar problemas que possam surgir na sua aplicação Web Forms. A depuração e o tratamento de erros são bem suportados dentro ASP.NET Web Forms para que as suas aplicações compilem e corram eficazmente.
- Implantação e Alojamento - Visual Studio, ASP.NET, Azure e IIS fornecem ferramentas que o ajudam no processo de implementação e hospedagem da sua aplicação Web Forms.
Decidir Quando Criar uma Aplicação de Formulários Web
Deve ponderar cuidadosamente se deve implementar uma aplicação Web utilizando o modelo ASP.NET Web Forms ou outro modelo, como o framework ASP.NET MVC. O framework MVC não substitui o modelo Web Forms; podes usar qualquer uma das frameworks para aplicações Web. Antes de decidir usar o modelo Web Forms ou o framework MVC para um site específico, pondere as vantagens de cada abordagem.
Vantagens de uma Aplicação Web Baseada em Formulários
A estrutura baseada em Web Forms oferece as seguintes vantagens:
- Suporta um modelo de eventos que preserva o estado através de HTTP, o que beneficia o desenvolvimento de aplicações Web empresariais. A aplicação baseada em Web Forms fornece dezenas de eventos suportados em centenas de controlos de servidor.
- Utiliza um padrão de Controlador de Página que adiciona funcionalidade a páginas individuais. Para mais informações, consulte Controlador de Página.
- Utiliza formulários de estado de visualização ou baseados em servidor, o que pode facilitar a gestão da informação de estado.
- Funciona bem para pequenas equipas de programadores e designers Web que querem tirar partido do grande número de componentes disponíveis para o desenvolvimento rápido de aplicações.
- Em geral, é menos complexo para o desenvolvimento de aplicações, porque os componentes (a classe Page , controlos, etc.) estão fortemente integrados e normalmente requerem menos código do que o modelo MVC.
Vantagens de uma Aplicação Web baseada em MVC
A estrutura ASP.NET MVC oferece as seguintes vantagens:
- Facilita a gestão da complexidade ao dividir uma aplicação em modelo, vista e controlador.
- Não utiliza estado de visualização nem formulários baseados em servidor. Isto torna o framework MVC ideal para programadores que desejam controlo total sobre o comportamento de uma aplicação.
- Utiliza um padrão Front Controller que processa pedidos de aplicações Web através de um único controlador. Isto permite-lhe conceber uma aplicação que suporta uma infraestrutura de roteamento rica. Para mais informações, consulte Controlador Frontal.
- Oferece melhor suporte para desenvolvimento orientado por testes (TDD).
- Funciona bem para aplicações Web suportadas por grandes equipas de programadores e designers web que necessitam de um elevado grau de controlo sobre o comportamento da aplicação.