Neste artigo vou mostrar com definir a página padrão do seu web site no ISS usando o arquivo Web.config para uma aplicação ASP .NET. (Válido para as versões superiores do .NET Framework 3.0) |
O arquivo web.config pode ser usado para definir um documento padrão, ou uma lista de documentos padrão para o seu site. Pode ser usado também para alterar o documento padrão (página) para um site completo, ou em um diretório. A página padrão pode ser um .php, .asp, .htm, aspx, .cfm, ou qualquer outro tipo de arquivo tratada pelo servidor web.
O documento padrão é retornado para o cliente quando o navegador requista o nome do diretório (Ex: macoratti.net/) mas não especifica uma página. Se não houver um documento padrão no diretório o cliente vai receber uma mensagem de erro de 'arquivo não encontrado' ou de acesso negado.
O servidor web está configurado para procurar arquivos padrão e o IIS define os seguintes documentos no arquivo ApplicationHost.config :
Default.htm
Default.asp
Default.aspx
Index.htm
Index.html
Index.aspx
Index.aspx
Iisstart.htm
Por
padrão, quando um pedido chega para diretório raiz do aplicativo do seu site o
IIS envia uma resposta para o navegador com base nos nomes de arquivo que você
definiu no elemento <defaultDocument> do arquivo web.config.
O IIS tenta retornar os arquivos corretos na ordem em que aparecem no elemento <defaultDocument>.
Se o arquivo Default.htm existe, IIS envia para o
navegador do cliente. Se o arquivo Default.htm não existe, IIS tenta enviar o
arquivo Default.asp para o navegador, e se o
arquivo Default.asp não existe, IIS tenta enviar o arquivo Default.aspx para o
navegador; o IIS continua nesse procedimento até que ele tente enviar cada
arquivo de documento padrão para o navegador cliente.
Você pode configurar o elemento <defaultDocument> a nível de servidor no arquivo ApplicationHost.config e a nível de site, aplicação ou URL no arquivo Web.Config.
O
elemento <defaultDocument> permite ativar ou desativar o comportamento
padrão dos documentos para o seu site ou aplicativo. Este elemento contém um
elemento filho <files>, que contém um conjunto de elementos <add>.
Cada elemento <add> define os documentos padrão que o site ou aplicativo
irá retornar para um navegador quando o site recebe uma solicitação para o
diretório raiz.
O elemento <defaultDocument> também pode conter um ou mais elementos <remove>
que remove um arquivo de documento padrão específico herdado de um arquivo de
configuração de nível superior no servidor IIS - Internet
Information Services.
Você também pode usar o elemento <clear> para remover todas as
configurações do documento padrão definido superior na hierarquia de
configuração.
Dessa forma, se você deseja alterar a ordem de documento padrão ou adicionar outro nome de arquivo pode fazer isso no arquivo web.config. Para isso basta alterar a ordem dos elementos <add> no elemento <defaultDocument>.
O seguinte exemplo de configuração, incluído em um arquivo Web.config para um site ou aplicativo, permite definir documentos padrão para o site ou aplicativo. Em seguida, adiciona o nome do arquivo "home.html" na lista de documentos padrão do site ou aplicativo:
<configuration>
<system.webServer>
<defaultDocument enabled="true">
<files>
<add value="home.html" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
|
Neste outro exemplo estamos habilitando os documentos padrão para o diretório, removendo a lista existente de documentos padrão e definindo nova uma lista de documentos:
<configuration>
<system.webServer>
<defaultDocument enabled="true"> <!-- habilita o documento padrão para o diretório -->
<files>
<clear/> <!-- remove a lista de documentos padrão existente -->
<add value="teste.htm"/> <!-- teste.htm é agora o documento padrão -->
<add value="teste.aspx"/> <!-- segundo documento padrão na ordem de busca -->
<add value="teste.asp/> <!-- terceiro documento padrão na ordem de busca -->
<add value="teste.php/> <!-- quarto documento padrão na ordem de busca -->
</files>
</defaultDocument>
</system.webServer>
</configuration>
|
Definindo um documento padrão via Painel de Controle
Você também pode incluir um documento padrão para uma aplicação ou site no IIS via painel de controle. (Você precisa ter o IIS instalado)
Para isso abra o painel de controle e em ferramentas administrativas clique em Internet Information Services (IIS) Manager;
No painel Connections, expanda o nome do servidor, expanda Sites e, em seguida, navegue para o Web site ou aplicativo onde você deseja configurar os documentos padrão;
No painel Actions clique em Add;
Na caixa de diálogo Adicionar documento padrão, digite o nome do documento padrão que você deseja adicionar na caixa Nome e clique em OK;
Se necessário, no painel Actions, selecione um documento padrão na lista e clique em Mover para cima ou Mover para baixo para definir a ordem em que o IIS deve pesquisar a lista de documentos padrão;
Na caixa de alerta do documento padrão, clique em Sim para recusar a herança de configuração de um nível de configuração pai, ou clique em Não ou Cancelar para cancelar a alteração na ordem do documento padrão;
Se necessário, clique em Remove no painel Actions para remover todos os nomes de arquivos que você não deseja usar como documentos padrão;
Habilitando a lista de documentos padrão via código
Você também pode habilitar, adicionar e remover documentos padrão via código.
Para isso você vai precisar ter o IIS instalado e usar o namespace Microsoft.Web.Administration que contém as classes que podemos usar para administrar o IIS. Usando essas classes podemos ler e escrever informações de configuração nos arquivos ApplicationHost.config, Web.Config e Administration.config.
O exemplo de código a seguir habilita os documentos padrão para um web site chamado Macoratti e adiciona o arquivo chamado Home.html a uma lista de documentos padrão para o site:
using System;
using System.Text;
using Microsoft.Web.Administration;
namespace Aspnet_WebConfig_DefaultDocument
{
class Program
{
static void Main(string[] args)
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Macoratti");
ConfigurationSection defaultDocumentSection = config.GetSection("system.webServer/defaultDocument");
defaultDocumentSection["enabled"] = true;
ConfigurationElementCollection filesCollection = defaultDocumentSection.GetCollection("files");
ConfigurationElement addElement = filesCollection.CreateElement("add");
addElement["value"] = @"home.html";
filesCollection.AddAt(0, addElement);
serverManager.CommitChanges();
}
}
}
}
|
A versão VB .NET do mesmo código é mostrada a seguir:
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Module1
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Macoratti")
Dim defaultDocumentSection As ConfigurationSection = config.GetSection("system.webServer/defaultDocument")
defaultDocumentSection("enabled") = True
Dim filesCollection As ConfigurationElementCollection = defaultDocumentSection.GetCollection("files")
Dim addElement As ConfigurationElement = filesCollection.CreateElement("add")
addElement("value") = "home.html"
filesCollection.AddAt(0, addElement)
serverManager.CommitChanges()
End Sub
End Module
|
Existe ainda a opção de usar o utilitário de linha de comando APPCMD.EXE usado para gerenciar o IIS para fazer a mesma definição:
appcmd.exe set config "Macoratti" /section:defaultDocument /enabled:true /+files.[value='home.html']
Lembrando que essa ferramenta esta disponível a partir do IIS 7.
Os seguintes exemplos são tarefas que podem ser concluídas com Appcmd.exe:
Criar e configurar sites, aplicativos, pools de aplicativos e diretórios virtuais.
Iniciar e parar sites.
Iniciar, parar e reciclar pools de aplicativos.
Exibir informações sobre processos de trabalho e solicitações em execução no servidor Web.
Para saber mais consulte a documentação nas referências do artigo.
"Porque as suas coisas invisíveis, desde
a criação do mundo, tanto o seu eterno poder, como a sua divindade, se entendem,
e claramente se vêem pelas coisas que estão criadas, para que eles fiquem
inescusáveis"
Romanos 1:20
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
https://www.iis.net/configreference/system.webserver/defaultdocument
https://technet.microsoft.com/pt-br/library/cc772200(v=ws.10).aspx
http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-appcmdexe