Você está na página 1de 17

A1

PROJECTOS E APLICAES

A primeira deciso que temos de tomar quando pretendemos construir uma aplicao ASP.NET passa pela escolha do tipo de projecto que iremos utilizar. Este anexo comea por apresentar os dois principais tipos de projectos disponibilizados pela plataforma, para, em seguida, se debruar sobre os principais tipos de templates de aplicaes e recursos que podem ser usados na construo de aplicaes ASP.NET.

A1.1 TIPOS DE PROJECTOS VS TIPOS DE APLICAES


Antes de analisarmos os tipos de projectos disponveis, importa efectuar a distino entre tipo de projecto e tipo de aplicao (dois termos que so, muitas vezes, utilizados de forma incorrecta como sinnimos). Quando nos referimos a tipos de projecto, estamos a pensar nos vrios aspectos relacionados com a forma como uma aplicao Web compilada, depurada, instalada num servidor de produo, etc. Por outro lado, os tipos de aplicaes no so mais do que templates constitudos por vrios ficheiros que simplificam a construo de uma aplicao. A escolha do tipo de aplicao sempre efectuada aps a escolha do tipo de projecto e influencia o nmero e tipo de recursos adicionados inicialmente ao projecto que est a ser criado. normal encontrarmos o mesmo tipo de aplicao disponvel nos dois tipos bsicos de projectos disponibilizados pela plataforma ASP.NET (Web Application e Web Site). Como bvio, existem alguns tipos de aplicao que so mais dados a um determinado tipo de projecto. Por exemplo, o template para aplicaes do tipo ASP.NET MVC encontra-se apenas disponvel quando escolhemos um projecto do tipo Web Application. Isto no quer dizer que no seja possvel criar uma aplicao ASP.NET MVC quando escolhemos um projecto do tipo Web Site... Teremos apenas mais trabalho (e dificuldade se pretendermos associar testes unitrios nossa aplicao).
FCA Editora de Informtica

ASP.NET 4.0 CURSO COMPLETO

Uma nota final para encerrar esta comparao (entre tipo de projecto e tipo de aplicao): importante reter que os templates que definem os tipos de aplicao servem apenas para determinar quais os recursos adicionados inicialmente aplicao. Ou seja, nada nos impede de adicionarmos um servio WCF a uma aplicao Web criada a partir de um template do tipo ASP.NET Web Application (apesar de os servios WCF serem tipicamente usados em aplicaes do tipo WCF Service Application).

A1.2 TIPOS DE PROJECTOS


Como referimos, a construo de uma aplicao Web obriga-nos (sempre!) a escolher o tipo de projecto. Actualmente, a plataforma disponibiliza dois tipos de projectos: estamos a falar dos projectos do tipo Web Applications e dos projectos do tipo Web Sites. Os projectos do tipo Web Application foram introduzidos pela verso 1.0 da plataforma. Por outro lado, os projectos do tipo Web Site foram apenas introduzidos aquando do lanamento da verso 2.0 do ASP.NET.

FIGURA A1.1 Um novo projecto ASP.NET comea sempre com a escolha do tipo de projecto

Como possvel verificar atravs da figura A1.1, os projectos do tipo Web Applications podem ser criados atravs do menu File->New-> Projects. Por outro lado, os projectos do tipo Web Sites podem ser criados atravs da opo File>New-> Web Site. Aps escolhermos o tipo de projecto, temos apenas de escolher o tipo de aplicao que pretendemos desenvolver. As figuras seguintes (A1.2 e

FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

A1.3) ilustram alguns dos tipos de aplicaes disponveis para cada tipo de projecto.

FIGURA A1.2 Tipos de aplicao disponveis para projectos do tipo Web Application

Como possvel verificar, existem vrios tipos de aplicaes que esto disponveis simultaneamente em ambos os tipos de projecto.

A1.2.1.PROJECTOS DO TIPO WEB APPLICATION Os projectos do tipo Web Application foram introduzidos aquando do lanamento da primeira verso da plataforma ASP.NET e assemelham-se aos restantes tipos de projectos disponibilizados pelo Visual Studio. Uma das principais caractersticas deste tipo de projecto consiste no recurso a ficheiros de projecto para guardar as vrias definies associadas ao projecto. A utilizao de ficheiros de projecto permite a fcil concretizao de algumas operaes, como por exemplo, a excluso de recursos do processo de compilao. Para alm disso, tambm podemos referir este tipo de projectos em scripts de build (algo que no
FCA Editora de Informtica

ASP.NET 4.0 CURSO COMPLETO

pode ser feito com os projectos do tipo Web Site, j que eles no possuem ficheiro de projecto).

FIGURA A1.3 Tipos de aplicao disponveis para projectos do tipo Web Site

Uma das desvantagens deste tipo de projecto reside no facto de ser necessrio compilar o projecto antes de a aplicao Web ser instalada no servidor de produo (algo que, como veremos, no necessrio com os projectos do tipo Web Site). J agora, refira-se que a compilao deste tipo de projecto resulta sempre na criao de uma nica assembly. Na prtica, isto quer dizer que todos os recursos adicionados ao projecto e que so compilados durante a operao de build no podem conter quaisquer erros: se tal acontecer, a compilao da aplicao Web termina abruptamente com erros de compilao e sem que a assembly seja gerada. Refira-se ainda que esta assembly sempre copiada para o interior da pasta especial bin. Para alm da assembly (que contm todo o cdigo definido nos ficheiros de cdigo e recursos existente no projecto), a instalao deste tipo de aplicaes no servidor de produo obriga-nos ainda a copiar os ficheiros de recursos estticos (isto , as imagens e ficheiros ASPX, ASCX, master, etc.) para o servidor.
FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

Os recursos estticos ASP.NET sero tipicamente compilados apenas aquando da recepo do primeiro pedido.

A1.2.1.1. UTILIZAO DE FICHEIROS CODE-BEHIND

Os projectos do tipo Web Application Project recorrem ao chamado codebehind para permitir a separao explcita da markup do cdigo. A utilizao deste atributo influencia a forma como a aplicao compilada. Suponhamos que temos uma pgina designada por Default.aspx (com o respectivo ficheiro de codebehind Default.aspx.cs). Se expandirmos a pgina na soluo do Visual Studio, verificamos que a nova pgina acabou por introduzir trs ficheiros: o ficheiro de markup (ASPX), o ficheiro de cdigo (CS) e o ficheiro auxiliar do designer. Este ficheiro define uma classe parcial (com o mesmo nome da classe definida no ficheiro de cdigo) e que contm campos protegidos que referenciam os controlos adicionados markup da pgina ASPX.

FIGURA A1.4 Ficheiros associados a uma pgina que usa code-behind

A declarativa @Page adicionada pgina ASPX contm os seguintes atributos:


<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

O atributo CodeBehind apenas interpretado pelo Visual Studio e ignorado pela plataforma ASP.NET. Ao encontr-lo, o Visual Studio tenta compilar o ficheiro indicado para a assembly resultante da compilao total da aplicao (algo que efectuado antes de a aplicao ser instalada no servidor de produo). Para a plataforma ASP.NET, o importante encontrar a classe definida pelo atributo Inherits em runtime. Como referimos anteriormente, o parsing da pgina efectuado durante o primeiro pedido e da resulta a criao de uma classe, com nome ASP.Default_aspx, que estende a classe definida no ficheiro de code-behind e adiciona mtodos que inicializam os controlos a partir
FCA Editora de Informtica

ASP.NET 4.0 CURSO COMPLETO

dos atributos utilizados na markup. Para alm disso, esta segunda classe define ainda algumas propriedades importantes (como, por exemplo, Profile e ApplicationInstance). Note-se que devido a estas particularidades que o acesso a informao contida nos perfis a partir dos ficheiros de code-behind no to simples como quando tentamos aceder a essa informao a partir dos ficheiros do tipo codefile (utilizados tradicionalmente em aplicaes do tipo Web Site). Como os perfis so compilados em runtime, impossvel aceder a essa informao a partir do ficheiro de code-behind j que estes so compilados pelo Visual Studio antes de aplicao ser instalada no servidor de produo.

A1.2.2. PROJECTOS DO TIPO WEB SITE Os projectos deste tipo recorrem utilizao de vrias pastas com nomes especiais para definirem a estrutura de um projecto (o tratamento dado a um recurso durante a compilao depende da pasta onde ele colocado).

FIGURA A1.5 Pastas especiais introduzidas pelos projectos do tipo Web Site

Uma vez que estes projectos no recorrem aos chamados ficheiros de projecto, ento todos os recursos mantidos sob a pasta de topo do projecto pertencem obrigatoriamente ao projecto. A figura A1.5 ilustra as principais pastas predefinidas que podem ser utilizadas num projecto deste tipo; j a tabela
FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

seguinte explica para que serve cada uma dessas pastas e o que podemos colocar no seu interior:
NOMES DAS PASTAS
/APP_BROWSERS

DESCRIO

Pasta onde devem ficar os ficheiros de configurao relativos s definies dos browsers. Estes ficheiros so interpretados quando recorremos classe HttpBrowserCapabilities (atravs da propriedade Browser da classe HttpRequest) e contm vrios elementos XML que definem as funcionalidades normalmente oferecidas por um browser (ex.: suporte aos cookies). Em alternativa alterao ou adio destes ficheiros XML, podemos ainda definir um Browser Provider que permite a utilizao de classes personalizadas para a definio das funcionalidades disponibilizadas por um determinado browser (esta nova funcionalidade foi introduzida pela plataforma ASP.NET 4.0). /APP_CODE Pasta usada como repositrio de vrios tipos de ficheiros de cdigo que sero automaticamente compilados. Esta pasta permite a colocao de ficheiros de cdigo C# (.cs) ou VB.NET (.vb), ficheiros com datasets fortemente tipificados (.xsd), etc. /APP_DATA Directrio especial onde so armazenadas as fontes de dados usadas na aplicao (base de dados locais, ficheiros de XML com dados, etc.). A plataforma garante ainda que os dados mantidos nesta pasta nunca podem ser acedidos directamente pelos utilizadores da aplicao (ou seja, a plataforma nunca retorna um recurso mantido nesta pasta). /APP_GLOBALRESOURCES Pasta que guarda vrios ficheiros de recursos (de extenso .resx) partilhados pelos vrios elementos da aplicao. Um ficheiro de recursos contm vrios valores (identificados por uma chave) que podem ser obtidos a partir das pginas atravs das expresses de localizao. /APP_LOCALRESOURCES Semelhante anterior, mas relativa a recursos locais. Um recurso local aplicado apenas a um nico elemento existente numa aplicao (normalmente, uma pgina). /APP_THEMES Pasta que permite definir os temas locais aplicao. /APP_WEBREFERENCES Directrio onde so colocados os ficheiros a partir dos quais so gerados os proxies usados no acesso a um determinado Web Service (sempre que adicionamos uma Web Reference no Visual Studio, os ficheiros necessrios construo do proxy sero adicionados a esta pasta isto , o Visual Studio adiciona um ficheiro WSDL no interior desta pasta, de forma a conseguir gerar um proxy que ser utilizado para invocar os mtodos expostos pelo Web Service). /BIN Introduzida na primeira verso, esta pasta guarda todas as assemblies no registadas no GAC (Global Assembly Cache), necessrias ao correcto funcionamento da aplicao web. TABELA A1.1 Pastas especiais usadas pelas aplicaes ASP.NET
FCA Editora de Informtica

ASP.NET 4.0 CURSO COMPLETO

Apesar de estas pastas terem sido introduzidas pelos projectos do tipo Web Site, a verdade que muitas delas tambm se encontram disponveis nos projectos do tipo Web Application (as nicas pastas especiais que no encontramos nesse tipo de projectos so as pastas app_code e app_webreferences). Os projectos do tipo Web Site utilizam um processo de compilao especial designado por compilao dinmica. Na prtica, isto quer dizer que podemos copiar todo o site para o servidor sem que este tenha sido compilado previamente. Note-se, contudo, que este modelo possibilita a pr-compilao de forma a aumentar a performance da aplicao. Um dos aspectos positivos associados aos projectos deste tipo reside no facto de um erro de compilao existente numa pgina no impedir a compilao desse projecto (algo que, como vimos, acontecia com os projectos do tipo Web Application). Nesse caso, teremos apenas um erro se tentarmos aceder pgina em questo.

A1.2.2.1. UTILIZAO DE FICHEIROS CODEFILE

Os projectos deste tipo introduziram o conceito de codefile. Suponhamos que temos uma pgina Default.aspx e respectivo ficheiro codefile:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

Ao contrrio do que acontecia com o atributo CodeBehind, o atributo CodeFile interpretado pela plataforma ASP.NET quando esta efectua o parsing da pgina ASPX. Daqui resultam duas novas classes: Uma classe parcial, com o mesmo nome que a classe definida no ficheiro de cdigo (_Default, neste caso) que contm campos que referenciam os controlos definidos no markup da pgina e as propriedades que permitem aceder s funcionalidades dinmicas da plataforma (ex: propriedade Profile, que permite aceder ao perfil do utilizador). Uma classe (neste exemplo, designada de ASP.default_aspx) que expande a classe anterior e que contm cdigo responsvel por inicializar os controlos (cdigo este obtido custa da markup dos controlos). segunda

FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

Portanto, a utilizao de codefiles modifica o cdigo gerado (quando comparamos esta opo com a utilizao de code-behind) e permite-nos, por exemplo, aceder facilmente a toda a informao associado ao perfil (a propriedade Profile gerada na classe base e no na classe final obtida a partir da markup da pgina).

A1.2.2.2 COMPILAO DINMICA

A compilao dinmica permite a compilao total da aplicao aps ser instalada no servidor e s est disponvel quando utilizamos codefiles. Actualmente, dispomos de dois modos: batch e fixed-names. A utilizao do modo de compilao fixed-names depende da utilizao de pr-compilao e ser analisada na seco seguinte. A utilizao de um modelo batch leva criao de vrias assemblies (tipicamente uma por pasta) durante a compilao da aplicao. Como seria de esperar, o nmero de assemblies geradas pode ser influenciado por vrios atributos do elemento <configuration>, alguns dos quais so apresentados na tabela seguinte.
ATRIBUTOS
BATCH

DESCRIO Indica se a compilao aplicao Web deve ou no ser efectuada em lote. A compilao em lote leva a que o primeiro pedido de um recurso resulte na compilao de todos os recursos ASP.NET existentes. Intervalo de timeout associado compilao em lote. Se a compilao em lote no for completada no tempo especificado, o compilador limita-se a compilar apenas o recurso pedido (normalmente, uma pgina ASP.NET). Utilizado para definir o nmero mximo de pginas compiladas num lote. Define o tamanho mximo de cada assembly que resulta da compilao em lote. Este atributo acaba por controlar o nmero de assemblies que resulta de uma compilao em lote.

BATCHTIMEOUT

MAXBATCHSIZE MAXBATCHGENERATEDFILESIZE

TABELA A1.2 Atributos do elemento <compilation>

A compilao em lote em aplicaes do tipo Web Site, significa a compilao de vrios recursos pela seguinte ordem: 1) Compilao de recursos globais (contidos na pasta app_globalresources).
FCA Editora de Informtica

10

ASP.NET 4.0 CURSO COMPLETO

2) 3) 4) 5)

Compilao das referncias a Web Services existentes no interior do directrio especial app_webreferences. Compilao de todos os elementos contidos no interior da pasta app_code. Compilao do ficheiro global.asax. Compilao das pginas ASPX e recursos associados (exemplo: temas).

A1.2.2.3 AINDA SOBRE A PASTA APP_CODE

A pasta /app_code permite-nos adicionar ficheiros de cdigo com a garantia de que estes sero automaticamente compilados (desde que os ficheiros a colocados no possuam erros que impeam essa compilao). A nica restrio prende-se com o facto de apenas podermos colocar elementos escritos na mesma linguagem no interior destas pastas. Assim, se colocarmos um ficheiro de C# no interior dessa pasta, ento, todos os outros ficheiros de cdigo tero que estar obrigatoriamente nessa linguagem. Tal deve-se ao facto de, por predefinio, todos os ficheiros contidos nesta pasta serem compilados para a mesma assembly. Se for necessrio, podemos modificar este tipo de comportamento atravs da introduo de subpastas. Para exemplificar, vamos supor que a pasta /app_code/vbTests contm ficheiros escritos em VB.NET e que a pasta /app_code/csharp contm vrios ficheiros escritos em C#. Nesta situao, podemos dividir a compilao em duas assemblies. Para tal, temos de adicionar algumas entradas ao nosso ficheiro de configurao (web.config):
<? xml version=1.0 encoding=UTF-8 ?> <configuration> <system.web> <compilation> <codeSubDirectories> <add directoryName=vbTests /> <add directoryName=csharp /> </codeSubDirectories> </compilation> </system.web> </configuration>
FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

11

A compilao dos ficheiros contidos na pasta resulta na criao de duas assemblies: uma relativa ao directrio que contm os ficheiros em VB.NET; e outra relativa ao directrio que contm os ficheiros em C#.
No possvel adicionarmos uma entrada na seco codeSubDirectories cujo caminho aponte para uma subpasta de uma das restantes entradas existentes nessa seco. Portanto, os directrios indicados pelas entradas <add> apenas podem ter um nvel de profundidade. Uma pasta adicionada atravs do elemento <add> pode ter vrias subpastas fsicas no seu interior desde que os elementos contidos nessas subpastas tenham sido escritos na mesma linguagem que foi usada pelos elementos contidos na pasta de topo.

A pasta /app_code tambm poder conter outro tipo de elementos, como, por exemplo, ficheiros WSDL. A colocao de um ficheiro deste tipo no interior desta pasta resultar na gerao automtica de um proxy que permite a utilizao do Web Service a partir das pginas existentes na aplicao. Para alm destes ficheiros (WSDL), a pasta /app_code tambm poder conter ficheiros de datasets fortemente tipificados.

A1.2.2.4 PR-COMPILAO DE WEB SITES

A pr-compilao de projectos do tipo Web Site introduz algumas vantagens: Diminui o tempo de resposta do primeiro pedido j que todos os recursos foram compilados previamente antes de serem copiados para o servidor de produo. Permite identificar eventuais erros existentes que seriam (tipicamente) descobertos apenas em runtime. Permite a publicao de sites sem qualquer tipo de cdigo (nem mesmo o cdigo markup das pginas ASPX necessrio, como acontece com os projectos do tipo Web Application). A pr-compilao de aplicaes pode ser feita atravs do utilitrio aspnet_compiler.exe, que permite efectuar duas operaes bsicas: Compilar a aplicao no prprio directrio virtual ou fsico (In-Place Pre-Compilation).

FCA Editora de Informtica

12

ASP.NET 4.0 CURSO COMPLETO

Compilar a aplicao e efectuar a transferncia para outro directrio (fsico ou virtual) Pre-Compilation For Deployment. A pr-compilao cria sempre uma pasta /bin no directrio destino que contm as vrias assemblies obtidas custa desse processo. Convm notar que todos os recursos estticos (por exemplo: pginas ASPX, pginas HTML, imagens e ficheiros de configurao) continuam a ser copiados para o directrio final. O contedo das pginas ASPX copiadas para o directrio destino varia de acordo com o tipo de compilao. A utilizao da ferramenta prev dois cenrios. No primeiro, temos a possibilidade de actualizar as pginas ASPX aps efectuarmos a instalao no servidor de produo (cenrio de actualizao parcial). Para que isso seja possvel, os recursos estticos ASP.NET (ficheiros ASPX, ASCX, MASTER, etc.) so copiados integralmente para o servidor e a compilao em lote usada para garantir que as pginas ASPX so compiladas no primeiro pedido efectuado (note-se que todos os restantes recursos foram pr-compilados pela ferramenta aspnet_compiler). Este tipo de compilao indicado atravs da utilizao da opo u:
aspnet_compiler v /test p c:\code u d f d:\pastadestino

O cdigo anterior efectua a compilao de uma pasta fsica (c:\code) para outra (d:\pastadestino) e utiliza a opo u para garantir que a modificao das pginas ASPX possvel aps estas terem sido copiadas para o servidor de produo. Por outro lado, podemos ainda utilizar esta para garantir que todas as pginas so integralmente compiladas antes de serem copiadas para o servidor de produo (no permitindo, assim, a alterao destas aps serem copiadas para o servidor). Nestas situaes, as pginas ASPX so copiadas para o servidor, mas funcionam apenas como placeholders e no possuem instrues vlidas. A instruo a executar praticamente igual anterior mas, neste caso, no utilizamos o parmetro u. Na seco anterior, mencionmos a compilao em modo fixed-names e referimos que esta opo s est disponvel quando optamos por pr-compilar a aplicao Web. Este modo de compilao activado quando utilizamos o parmetro fixednames, levando criao de uma assembly por cada pgina ASPX da aplicao. O nome de cada uma das assemblies consiste no caminho virtual at pgina, quando esse caminho no excede o limite mximo de caracteres que pode ser usado no nome de um ficheiro (se tal acontecer, a
FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES

13

ferramenta gera um hash desse caminho virtual). Para alm destas opes, existem ainda outras, apresentadas na pgina de suporte da ferramenta (http://msdn.microsoft.com/en-us/library/ms229863(VS.100).aspx).

FIGURA A1.6 Assemblies resultantes da compilao com opo -fixednames

A figura A1.6 apresenta o resultado da pr-compilao de um projecto do tipo Web Site quando passamos a opo fixednames. Como possvel verificar, obtemos uma assembly para cada um dos recursos ASP.NET da aplicao. Os leitores que possuem o Visual Studio tm a sua vida facilitada j que a opo Publish Web Site facilita a utilizao desta ferramenta. A figura seguinte ilustra as opes anteriores no assistente disponibilizado pelo Visual Studio:

FIGURA A1.7 Opes de publicao do assistente Publish Web Site no Visual Studio
FCA Editora de Informtica

14

ASP.NET 4.0 CURSO COMPLETO

As primeiras duas opes disponibilizadas pelo assistente so facilmente mapeadas nas opes suportadas pela ferramenta aspnet_compiler que foram descritas nos pargrafos anteriores. As restantes permitem gerar informao de debug (ficheiros de extenso pdb) e assinar as assemblies resultantes da compilao e, como seria de esperar, tambm so suportadas pela ferramenta (consultar a pgina da ferramenta em http://msdn.microsoft.com/enus/library/ms229863 (VS.100).aspx).

A1.3 TIPOS DE APLICAO


Ao longo desta seco, vamos apresentar os vrios tipos aplicao que podem ser construdas em ASP.NET. As figuras A1.2 eA1.3 apresentam as principais aplicaes que podem ser criadas atravs dos templates instalados por predefinio. A tabela seguinte descreve esses tipos de aplicaes.
TIPOS DE APLICAO
ASP.NET WEB APPLICATION

DESCRIO Este template gera uma aplicao do tipo Web Forms e adiciona alguns recursos ao projecto: ficheiros de configurao, vrias pginas que ilustram a utilizao de vrias funcionalidades ASP.NET, ficheiros de script JQuery, etc. Este template cria uma nova aplicao Web vazia. Esta opo cria um projecto do tipo MVC. Os projectos deste tipo implementam o padro de desenho MVC e alteram por completo a filosofia de desenvolvimento associada construo de aplicaes ASP.NET. Cria um novo projecto com um Web Service ASMX. Semelhante ao anterior, mas neste caso, a aplicao configurada para efectuar o hosting de servios WCF. Cria uma nova aplicao e prepara-a para conter vrios controlos servidor ASP.NET. Este tipo de aplicao pr-configurado para permitir a fcil construo de controlos ASP.NET AJAX. A aplicao obtida a partir deste template semelhante anterior; contudo, neste caso, obtemos cdigo adequado construo de extenders AJAX. Cria um projecto do tipo Dynamic Data configurado para obter os dados a partir de uma base de dados atravs de LINQ to SQL. Este tipo de aplicaes gera automaticamente um conjunto de pginas que permite realizar operaes CRUD

EMPTY ASP.NET WEB APPLICATION ASP.NET MVC WEB APPLICATION

ASP.NET WEB SERVICE APPLICATION WCF SERVICE APPLICATION ASP.NET SERVER CONTROL ASP.NET AJAX SERVER CONTROL ASP.NET AJAX SERVER CONTROL EXTENDER DYNAMIC DATA LINQ TO SQL WEB APPLICATION

FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES


TIPOS DE APLICAO DESCRIO

15

DYNAMIC DATA ENTITIES WEB APPLICATION

(create, read, update e delete) sobre as tabelas da base de dados associada. Semelhante ao anterior, mas neste caso, a plataforma ADO.NET Entity Framework usada para comunicar com a base de dados.

TABELA A1.3 Tipos de aplicao que podem ser criadas no Visual Studio

A verso 4.0 modificou ligeiramente os templates de aplicaes relacionados com a construo de aplicaes do tipo Web Forms. O template Empty ASP.NET Application cria uma nova aplicao que contm apenas o ficheiro web.config que configura a aplicao para utilizar a verso 4.0 da plataforma (atributo targetFramework=4.0 do elemento compilation). A opo ASP.NET Web Application acaba por criar uma nova aplicao Web pr-configurada para utilizao de membership, de forma a facilitar a configurao de acessos aplicao.

A1.4 TIPOS DE RECURSOS


Como referimos anteriormente, o tipo de aplicao serve apenas para obtermos um conjunto inicial de recursos. Aps esta configurao inicial, podemos adicionar novos recursos ASP.NET a esse projecto. A forma mais fcil de adicionarmos um novo recurso a uma aplicao passa pela utilizao do dilogo Add New Item:

FIGURA A1.8 Tipos de recursos que podem ser adicionados a projectos ASP.NET

FCA Editora de Informtica

16

ASP.NET 4.0 CURSO COMPLETO

O nmero de recursos que podem ser adicionados a um projecto ASP.NET aumentou muito deste o lanamento da primeira verso da plataforma. A tabela seguinte apresenta alguns dos principais tipos de recursos que podem ser adicionados a um projecto ASP.NET.
TIPOS DE ELEMENTOS
PGINAS HTML SIMPLES FICHEIROS EXTERNOS DE CSS

DESCRIO Estas pginas de extenso htm(l) apenas contm tags HTML e cdigo script cliente. Os recursos do tipo StyleSheet permitem a criao de folhas de estilo CSS que podem ser reutilizadas pelas vrias pginas existentes na aplicao. Permitem-nos adicionar ficheiros de XML nossa aplicao. Os ficheiros de recursos globais (assembly resource files) auxiliam o programador na construo de aplicaes multicultura. O nmero de ficheiros deste tipo depende do nmero de culturas que queremos suportar (cada ficheiro consegue guardar valores associados a uma determinada cultura). Um ficheiro deste tipo funciona como um dicionrio, permitindo o armazenamento de vrios dados que podem ser acedidos atravs de uma chave a partir de alguns dos recursos usados pelas aplicaes Web (ex.: pgina ASP.NET). A construo de handlers personalizadas pode ser feita atravs da adio de elementos do tipo Generic Handler. Uma aplicao Web pode definir vrios parmetros num ou mais ficheiros de configurao designados de web.config (elementos do tipo Web Configuration File). As ferramentas da famlia Visual Studio permitem a criao de base de dados SQL geridas pelo SQL Server Express. Uma master page permite-nos construir um template que ser aplicado a uma ou mais pginas, de forma a definir o layout dessas pginas. Este elemento constitudo por dois tipos de zonas: zonas fixas (cujo contedo no pode ser modificado nas pginas s quais aplicada a master) e place holders (que permitem que cada pgina personalize o cdigo definido nessa zona). Os user controls permitem a construo de novos controlos que podem ser utilizados nas vrias pginas existentes no site. Usados para definirem a apresentao dos controlos ao longo de uma aplicao (estes elementos so utilizados no contexto de um tema). Definem a hierarquia de navegao numa aplicao Web. Estes ficheiros fazem parte da infra-estrutura de suporte navegao introduzida pela verso 2.0 da plataforma. Permitem-nos influenciar a gesto da aplicao. Normalmente

FICHEIROS XML FICHEIROS DE RECURSOS


GLOBAIS

HANDLERS FICHEIROS DE CONFIGURAO


DA APLICAO

BASE DE DADOS (SQL EXPRESS) MASTER PAGES

USER CONTROLS SKINS

SITE MAPS

FICHEIROS GLOBAL.ASAX
FCA Editora de Informtica

ANEXO 1 - PROJECTOS E APLICAES


TIPOS DE ELEMENTOS DESCRIO

17

usamos estes ficheiros para processar os eventos gerados pela aplicao ou pelos mdulos associados (cada aplicao Wweb apenas pode possuir um elemento deste tipo). TABELA A1.4 Principais tipos de recursos existentes numa aplicao ASP.NET

Para alm destes recursos, existem ainda outros que no foram abordados ao longo deste livro. Note-se ainda que existem vrios templates de pginas que acabam por gerar cdigo muito semelhante. Por exemplo, a opo AJAX Web Form acrescenta um controlo ScriptManager e um script cliente com uma funo JavaScript pgina ASP.NET que adicionada ao projecto. Ambos estes itens poderiam ser facilmente adicionados a uma pgina ASP.NET construda a partir do template do tipo Web Form. Por outras palavras, muitos dos templates que permitem a criao de novas pginas acabam apenas por adicionar uma ou duas linhas ao template bsico de criao de uma pgina. E o mesmo acontece com a grande maioria dos templates que geram recursos do mesmo tipo.

FCA Editora de Informtica

Você também pode gostar