O primeiro capitulo é só uma introdução ao mundo web, como o título diz:
Introducing ASP.NET 4

1ª Lição - Understanding Web Communications

A primeira lição é uma explicação sobre a forma de comunicação na web, qualquer programador web hoje sabe o que esta escrito neste lição, são protocolos usados entre a comunicação cliente - servidor, código de retornos do servidor e etc...

Esta lição se foca principalmente em dois pontos:

1º Ponto, mostrar e explicar os principais códigos de retorno do servidor ao navegador, o exemplo mais clássico e conhecido é o código 404 de Not Found, na lição é possível encontrar uma tabela com esse códigos e suas devidas descrição.

O 2º Ponto, e acredito o mais importante é a diferente entre a forma de enviar requisições ao servidor, usando Get ou Post.

Como explicado na lição e acredito que muitos saibam quando usamos o Get as informações são passadas pela url via querystring. Isso se torna uma vantagem para facilitar buscas e criar links personalidados para sua aplicação, mas pode e com certeza será um transtorno para evitar que informações sejam modificadas através da URL, podendo até mesmo comprometer sua aplicação.

Sem dúvida a melhor forma de enviar requisições ao servidor é usando o comando POST onde os dados são enviados pelo corpo da mensagem, de forma transparante para o usuário.

No último parágrafo desta lição cita-se o IsPostBack, até o momento irrelevante, mas acredito que mais pra frente irei ler sobre o ciclo de vida de um formulário e principalmente de uma página aspx.

2ª Lição - Creating a Website and Adding New Webpages

A segunda lição do primeiro capítulo continua simples como a primeira lição para quem já trabalha com o Visual Studio. Esta lição mostra como criar web sites/web applications no visual studio e as opções que você escolher neste momento, e também como adicionar uma nova página aspx ao seu projeto.

Na criação de um projeto web o visual studio te da algumas opções como:

Qual linguagem usar, normalmente:

  • Visual Basic
  • Visual C#
E a opção de conexão do visual studio com o projeto que é o grande foco da lição:

  • File system: Como o nome mostra, sistema de arquivos simples, você pode armazenar os arquivos tanto localmente, como em um servidor remoto. A lição explica o uso do recurso do WebDAV caso queria usar um servidor remoto. Até onde eu vi pouco usado pela comunidade, com certeza o file system local é o mais comum.
  • FTP: Simples como o nome mostra é quando você trabalha conectado em um ftp que esta em um servidor remoto. Esta opção não tem muito segredo e é a menos explicada na lição. Cuidado com a segurança pois os arquivos de código estarão expostos no seu servidor. O IIS bloqueia o acesso via browser. Mas lembre-se que o FTP esta exposto.
  • HTTP: Para trabalhar com esta forma de conexão, você precisará do WebDAV Publishing, caso seja Windows Server 2008 R2, ou se for uma versão inferior poderá usar o Microsoft Front Page Server Extensions 2002. A lição explica como instalar os recursos do IIS necessários para trabalhar desta forma. E após instalados basta criar um website ou um diretório virtual para sua aplicação.
Depois de mostrar as configurações disponíveis no Visual Studio, a lição lista e explica as pastas e os arquivos criados quando você usa o Template de Projetos Web do Visual Studio, como por exemplo, as pastas Account, App_Data e Scripts, e arquivos como Default.aspx, Global.asax e outros que são criados automaticamente.

Esta lição também fala sobre as duas opções de criar uma página aspx:
  • Single-File: É quando o código de programação, seja visual basic ou visual c# ficam no mesmo arquivo do código html.
  • Code-behind: Com certeza a forma mais usada e recomendada, quando fica separado em arquivos distintos o código de programação que roda do lado servidor, e o lado de código html e outros scripts que rodam do lado do cliente.
Outro ponto brevemente falado é sobre a forma de compilação dos projetos.

Na primeira o desenvolvedor pode simplesmente copiar os arquivos para o servidor, onde a principal vantagem é não ter que compilar toda a aplicação quando quiser fazer a instalação, e quando ouver mudanças subir um único arquivo será possível. E a grande desvantagem é que a primeira vez que a página for acessada ela terá que ser compilada, gerando um tempo de espera para o usuário, o que não é nada bom.

E a outra opção, acredito ser a mais usada e correta é compilar sua aplicação. A desvantagem é justamente a vantagem do item anterior, toda vez que ocorrer uma mudança toda a aplicação deve ser compilada. E a vantagem é que as páginas carregarão mais rápido para o usuário, além de não ter que subir código fonte para o servidor de produção, o código fica compilado em dll, se tornando assim mais seguro.

3ª Lição - Working with Web Configuration Files

Particularmente achei muito simples e útil para o dia a dia, a lição fala exclusivamente sobre a hierarquia dos arquivos de configuração, os famosos .config

O mais conhecido de todos os desenvolvedores com certeza é o web.config que é criado automaticamente pelo visual studio quando criamos um projeto web. Mas não temos só esse arquivo de configuração.

O arquivo de configuração Master (Pai de todos) é o machine.config que pode ser encontrado no seguinte caminho (%System Root%\Microsoft.NET\Framework\CONFIG\Machine.config). As definições de configuração que estão no machine.config serão válidas e aplicadas para qualquer aplicação que use o .net neste servidor, seja ela web, windows, class library ou console application.

Seguindo a hierarquia abaixo do machine.config tem o web.config root. Este web.config contém definições que são aplicadas para todos websites do servidor. Se por acaso ficou em dúvida sobre a definição de web site, quando o IIS é instalado ele cria um único WebSite que é o WebSite Padrão, ou seja, esse web.config root irá conter definições para todos os WebSites que estiverem neste servidor. Este arquivo pode ser encontrado em: (%SystemRoot%\Microsoft.NET\Framework\CONFIG\Web.config)

Após o web.config root, temos o web.config do website que é especifico de cada website, como eu disse no parágrafo acima, podemos ter mais de um hospedado, então tendo um web.config para cada um podemos especificar algumas definições.

Enfim chegamos ao tradicional web.config da aplicação que é o web.config que você tem ae no seu visual studio e que contém as definições que mais alteramos com por exemplo a conexão com banco de dados.

E é possível ainda criar um web.config para cada pasta de sua aplicação, isso é mais comum em grandes aplicações, onde é necessário definir regras e configurações especificas em algumas pastas.

Basicamente o que a lição mostra é isso. Como tudo isso funciona? Da mesma forma que escrevi, hierarquicamente. O .net começa aplicando as definições do machine.config e vem passando por cada arquivo .config aplicando o que for necessário.

Assim finaliza o primeiro capítulo do livro.

Abraços...