Servidores Web no Visual Web Developer

Este tópico descreve o uso de Serviços de Informações da Internet (IIS) ou do Servidor de Desenvolvimento ASP.NET Interno para testes e execução de sites da Web.

Para testar ou executar aplicativos ASP.NET da Web, você precisa de um servidor Web.O servidor de produção Web para sistemas operacionais Microsoft é o IIS, que inclui um servidor Web, servidor de protocolo FTP, servidor de email virtual protocolo SMTP, e outros recursos.Para executar o IIS, você deve estar trabalhando com uma versão do Windows que seja projetada para funcionar como um servidor em um ambiente de rede.Isso inclui a edição web do Windows Server 2003.

No Windows 2000 Server e versões anteriores dos sistemas operacionais de servidor Windows o IIS é instalado por padrão como parte do sistema operacional.No Windows XP e no Windows Server 2003, o IIS não é instalado por padrão; você poderá adicioná-lo usando a opção Add/Remove Windows Components de Add or Remove Programs no Painel de Controle.(No Windows Server 2003, você pode instalar o IIS usando o componente de servidor de aplicativos.)

Pode ser não ser prático para você trabalhar com o IIS por razões como as seguintes:

  • Você está desenvolvendo páginas da Web do ASP.NET enquanto trabalha com o Windows XP Home Edition, que não oferece suporte ao IIS.

  • Você não deseja hospedar um servidor Web no seu computador (por exemplo, em sua rede doméstica) por razões de segurança.Executar um servidor Web como o IIS requer que você execute etapas adicionais para ajudar a proteger o servidor e que você esteja vigilante sobre como instalar as mais recentes atualizações de segurança.

  • Diretiva corporativa não permite que você instale certos componentes do servidor como o IIS.

O servidor de desenvolvimento do ASP.NET

Se você não pode ou não deseja usar o IIS como o servidor Web, você ainda pode testar suas páginas ASP.NET usando o Servidor de Desenvolvimento do ASP.NET.O Servidor de Desenvolvimento do ASP.NET, que está incluído no Visual Web Developer, é um servidor Web que executa localmente em sistemas operacionais Windows, incluindo Windows XP Home Edition.Ele é criado especificamente para servir, ou executar, páginas da Web ASP.NET sob o cenário de host local (navegando do mesmo computador como o servidor Web).Em outras palavras, o Servidor de Desenvolvimento do ASP.NET servirá páginas para solicitações do navegador no computador local.Ele não servirá páginas para outro computador.Além disso, ele não servirá arquivos que estão fora do escopo do aplicativo.O Servidor de Desenvolvimento do ASP.NET fornece uma maneira eficiente para testar páginas localmente antes de publicar as páginas a um servidor de produção que está executando o IIS.

O Servidor de Desenvolvimento ASP.NET só aceita solicitações autenticadas no computador local.Isso requer que o servidor possa oferecer suporte a NTLM ou autenticação básica.

Observação:

Como uma recomendação, não execute o Visual Web Developer enquanto você estiver conectado como um administrador — Execute-o sob uma conta mais restritiva.Isso ajuda a impedir o acesso inadvertido a outros arquivos no servidor.

O Servidor de Desenvolvimento ASP.NET funciona somente com páginas individuais e não inclui os recursos adicionais do IIS.Por exemplo, o Servidor de Desenvolvimento ASP.NET não dá suporte para um servidor de email SMTP.Se seu aplicativo da Web envolve enviar mensagens de email, você deve ter acesso ao servidor virtual IIS SMTP para testar email porque o Servidor de Desenvolvimento ASP.NET não pode encaminhar mensagens de email ou chamar um servidor que o faz.

Executando o Servidor de desenvolvimento do ASP.NET

O Servidor de desenvolvimento ASP.NET é instalado por padrão com Visual Web Developer.Se você estiver trabalhando com um site Web do sistema de arquivos, o Visual Web Developer usa automaticamente o Servidor de Desenvolvimento ASP.NET para executar páginas.Por padrão, o servidor Web é chamado em uma porta selecionada aleatoriamente para o cenário de hospedagem local.Por exemplo, se você está testando uma página chamada ExamplePage.aspx, quando você executa-la no Servidor de desenvolvimento ASP.NET, a URL da página pode ser:

https://localhost:31544/ExamplePage.aspx

Quando você fechar o navegador, o Servidor de desenvolvimento ASP.NET será desligado novamente.

Se você desejar executar o ASP.NET Development Server em uma porta específica, você pode configurar o servidor para fazer isso.Você pode fazer isso nesses cenários:

  • Se código em seu aplicativo escuta para uma porta específica e você deseja poder testar o aplicativo usando o Servidor de desenvolvimento ASP.NET.

  • Se seu aplicativo inclui uma referência a um projeto Cliente ou serviço da Web que esteja vinculado a uma porta específica.

O Visual Web Developer não pode garantir que a porta que você especificar estará disponível quando você executar o seu site da Web de sistema de arquivos.Para obter detalhes, consulte:Como: Especificar uma porta para o ASP.NET Development servidor.

Contexto de segurança para o Servidor de Desenvolvimento do ASP.NET

Uma diferença importante entre o Servidor de Desenvolvimento do ASP.NET e o IIS é o contexto de segurança nos quais os respectivos servidores executem as páginas ASP.NET.Essa diferença pode afetar seu teste devido a diferenças em como como as páginas são executadas.

Quando você executa uma página usando o Servidor de Desenvolvimento ASP.NET, a página é executada no contexto de sua conta de usuário atual.Por exemplo, se você estiver executando como um usuário Administrador, uma página executando no Servidor de Desenvolvimento ASP.NET terá privilégios de administrador.Por outro lado, no IIS, o ASP.NET por padrão é executado no contexto do usuário especial (ASP.NET ou NETWORK SERVICES) que normalmente tem privilégios limitados.As contas ASP.NET ou NETWORK SERVICES são locais para o computador servidor (não são contas de domínio), o que restringe o acesso a recursos em outros computadores.

Se você estiver simplesmente lendo e executando o código em páginas ASP.NET, essa diferença não é muito importante.Entretanto, os diferentes contextos de segurança para os dois servidores Web podem afetar seus testes da seguinte maneira:

  • Acesso para outros recursos que a página requer   Isso pode incluir leitura e escrita de outros arquivos do que as páginas Web, ler e escrever o registro Windows registry, e assim por diante.

  • Acesso ao Banco de Dados   Quando trabalhando com o Servidor de Desenvolvimento ASP.NET tipicamente você pode confiar na Autenticação Integrada do Windows para acessar o SQL Server.Entretanto, quando a mesma página é executada no IIS sob o ASPNET ou conta de NETWORK SERVICES, a página está executando no contexto de um usuário local, e você frequentemente tem que configurar a página para usar uma sequência de conexão que inclua informações sobre um usuário e uma senha.Para obter detalhes, consulte Acessando o SQL Server a Partir de um Aplicativo da Web e Arquitetura de segurança do ASP.NET.

  • Segurança de Acesso a Código   Se sua página envolve acesso para recursos que são protegidos sob diferentes zonas, a página pode executar diferentemente sob o Servidor de Desenvolvimento ASP.NET e sob o IIS.

Mesmo você podendo usar o Servidor de Desenvolvimento ASP.NET para testar que as páginas são funcionais, você deve testá-las novamente depois de publicar as páginas para um servidor Web de produção que esteja executando o IIS.

Autorização do Arquivo no Servidor de Desenvolvimento do ASP.NET

Em um site da Web de um sistema de arquivos, arquivos estáticos, como imagens e folhas de estilo, estão sujeitos a regras de autorização do ASP.NET.Por exemplo, arquivos estáticos em um site do sistema de arquivos não serão atendidos para um usuário anônimo quando acesso anônimo a esses arquivos for desativado.No entanto, quando você cria um projeto de site da Web em um local HTTP, o IIS serve arquivos estáticos sem usar regras de autorização.

Consulte também

Tarefas

Demonstra Passo a passo: Criando um Basic página da Web no Visual Web Developer

Conceitos

Sistema de Arquivos para Sites Web