ASP.NET implantação da Web usando o Visual Studio: implantando para testar

por Tom Dykstra

Esta série de tutoriais mostra como implantar (publicar) um aplicativo Web ASP.NET em Serviço de Aplicativo do Azure Aplicativos Web ou em um provedor de hospedagem de terceiros usando o Visual Studio 2017. Para obter informações sobre a série, consulte o primeiro tutorial da série.

Para obter uma versão atual da implantação no Azure, consulte Criar um aplicativo Web ASP.NET Core no Azure.

Visão geral

Neste tutorial, você implantará um aplicativo Web ASP.NET no IIS (Servidor de Informações da Internet) em seu computador local.

Geralmente, ao desenvolver um aplicativo, você o executa e o testa no Visual Studio. Por padrão, os projetos de aplicativo Web no Visual Studio 2017 usam IIS Express como o servidor Web de desenvolvimento. IIS Express se comporta mais como o IIS completo do que o Servidor de Desenvolvimento do Visual Studio (também conhecido como Cassini), que o Visual Studio 2017 usa por padrão. Mas nenhum servidor Web de desenvolvimento funciona exatamente como o IIS. Consequentemente, um aplicativo pode ser executado e testado corretamente no Visual Studio, mas falhar quando ele é implantado no IIS.

Você pode testar seu aplicativo de maneira confiável de duas maneiras:

  1. Implante seu aplicativo no IIS em seu computador de desenvolvimento usando o mesmo processo que você usará posteriormente para implantá-lo em seu ambiente de produção.

    Você pode configurar o Visual Studio para usar o IIS ao executar um projeto Web, mas isso não testaria o processo de implantação. Esse método valida o processo de implantação e o aplicativo é executado corretamente no IIS.

  2. Implante seu aplicativo em um ambiente de teste semelhante ao seu ambiente de produção.

    O ambiente de produção desses tutoriais é Aplicativos Web em Serviço de Aplicativo do Azure. O ambiente de teste ideal é um aplicativo Web adicional criado no Serviço do Azure. Embora ele seja configurado da mesma maneira que um aplicativo Web de produção, você o usaria apenas para teste.

A opção 2 é a maneira mais confiável de testar. Se você usar a opção 2, não precisará necessariamente usar a opção 1. No entanto, se você estiver implantando em um provedor de hospedagem de terceiros, a opção 2 pode não ser viável ou pode ser cara, portanto, esta série de tutoriais mostra os dois métodos. As diretrizes para a opção 2 são fornecidas no tutorial Implantando no Ambiente de Produção .

Para obter mais informações sobre como usar servidores Web no Visual Studio, consulte Servidores Web no Visual Studio para projetos Web ASP.NET.

Lembrete: se você receber uma mensagem de erro ou algo não funcionar durante o tutorial, certifique-se de marcar página de solução de problemas.

Baixar o projeto inicial da Contoso University

Baixe e instale a solução e o projeto iniciais do Visual Studio da Contoso University. Esta solução contém o tutorial concluído.

Baixar o Projeto Inicial

Instalar o IIS

Para implantar no IIS em seu computador de desenvolvimento, confirme se o IIS e a Implantação da Web estão instalados. Por padrão, o Visual Studio instala a Implantação da Web, mas o IIS não está incluído na configuração padrão Windows 10, Windows 8 ou Windows 7. Se você já tiver instalado o IIS e o pool de aplicativos padrão já estiver definido como .NET 4, pule para a próxima seção.

  1. É recomendável usar o WPI (Web Platform Installer) para instalar o IIS e a Implantação da Web. O WPI instala uma configuração recomendada do IIS que inclui pré-requisitos de implantação do IIS e da Web, se necessário.

    Se você já instalou o IIS, a Implantação da Web ou qualquer um dos componentes necessários, o WPI instalará apenas o que está faltando.

    • Use o Web Platform Installer para instalar o IIS e a Implantação da Web:

      Instalar o IIS usando o WPI

      Instalar a Implantação da Web usando o WPI

      Você verá mensagens indicando que o IIS 7 será instalado. O link funciona para o IIS 8 em Windows 8; mas para Windows 8 e posteriores, siga as etapas a seguir para garantir que ASP.NET 4.7 esteja instalado:

    • Abra Painel de Controle>Programas Programas e Recursos>Ativar ou desativar> recursos do Windows.

    • Expanda Serviços de Informações da Internet, Serviços Da World Wide Web e Recursos de Desenvolvimento de Aplicativos.

    • Confirme se ASP.NET 4.7 está selecionado.

      Selecione ASP.NET 4.7

    • Confirme se World Wide Web Services e Console de Gerenciamento do IIS estão selecionados. Isso instala o IIS e o Gerenciador do IIS.

      Selecione World Wide Web Services

    • Selecione OK. As mensagens da caixa de diálogo indicando que a instalação está ocorrendo são exibidas.

Depois de instalar o IIS, execute o Gerenciador do IIS para garantir que o .NET Framework versão 4 seja atribuído ao pool de aplicativos padrão.

  1. Pressione WINDOWS+R para abrir a caixa de diálogo Executar .

    (No Windows 8 ou posterior, insira "executar" na página Iniciar. No Windows 7, selecione Executar no menu Iniciar. Se Executar não estiver no menu Iniciar, clique com o botão direito do mouse na barra de tarefas, selecione Propriedades, selecione a guia Menu Iniciar, selecione Personalizar e selecioneExecutar comando.)

  2. Insira "inetmgr" e selecione OK.

  3. No painel Connections, expanda o nó do servidor e selecione Pools de Aplicativos. No painel Pools de Aplicativos , se DefaultAppPool for atribuído ao .NET Framework versão 4 como na ilustração a seguir, pule para a próxima seção.

    Inetmgr_showing_4.0_app_pools

  4. Se você vir apenas dois pools de aplicativos e ambos estiverem definidos como .NET Framework 2.0, instale ASP.NET 4 no IIS.

    Para Windows 8 ou posterior, confira as instruções da seção anterior para garantir que o ASP.NET 4.7 esteja instalado ou consulte Como instalar o ASP.NET 4.5 no Windows 8 e no Windows Server 2012. Para o Windows 7, abra uma janela do prompt de comando clicando com o botão direito do mouse em Prompt de Comando no menu Iniciar do Windows e selecionando Executar como Administrador. Execute aspnet_regiis.exe para instalar o ASP.NET 4 no IIS usando os comandos a seguir. (Em sistemas de 32 bits, substitua "Framework64" por "Framework".)

    cd %windir%\Microsoft.NET\Framework64\v4.0.30319
    aspnet_regiis.exe –i
    

    Esse comando cria novos pools de aplicativos para o .NET Framework 4, mas o pool de aplicativos padrão permanecerá definido como 2.0. Você está implantando um aplicativo direcionado ao .NET 4 nesse pool de aplicativos, portanto, altere o pool de aplicativos para .NET 4.

  5. Se você fechou o Gerenciador do IIS, execute-o novamente, expanda o nó do servidor e selecione Pools de Aplicativos.

  6. No painel Pools de Aplicativos , selecione DefaultAppPool. No painel Ações , selecione Configurações Básicas.

    Inetmgr_selecting_Basic_Settings_for_app_pool

  7. Na caixa de diálogo Editar Pool de Aplicativos , altere a versão do CLR do .NET para .NET CLR v4.0.30319. Selecione OK.

    Selecting_.NET_4_for_DefaultAppPool

Agora você está pronto para publicar um aplicativo Web no IIS. Primeiro, no entanto, crie bancos de dados para teste.

Instalar SQL Server Express

O LocalDB não foi projetado para funcionar no IIS, portanto, seu ambiente de teste precisa ter SQL Server Express instalado. Se você estiver usando o Visual Studio 2010 SQL Server Express, ele já está instalado por padrão. Se você estiver usando o Visual Studio 2012 ou posterior, instale SQL Server Express.

Para instalar SQL Server Express, baixe-o e instale-o no Centro de Download: Microsoft SQL Server edição Express 2017.

Na primeira página do Centro de Instalação do SQL Server, selecione Nova SQL Server instalação autônoma ou adicione recursos a uma instalação existente e siga as instruções que aceitam as opções padrão. No assistente de instalação, aceite as configurações padrão. Para obter mais informações sobre as opções de instalação, consulte Instalar SQL Server do Assistente de Instalação (Instalação).

Criar bancos de dados SQL Server Express para o ambiente de teste

O aplicativo da Contoso University tem dois bancos de dados:

  1. Banco de dados de associação
  2. Banco de dados de aplicativo

Você pode implantar esses bancos de dados em dois bancos de dados separados ou em um único banco de dados. Combiná-los facilita as junções de banco de dados entre eles.

Se você estiver implantando em um provedor de hospedagem de terceiros, seu plano de hospedagem também poderá fornecer um motivo para combiná-los. Por exemplo, o provedor pode cobrar mais por vários bancos de dados ou pode até não permitir mais de um banco de dados.

Neste tutorial, você implantará em dois bancos de dados no ambiente de teste e em um banco de dados nos ambientes de preparo e produção.

No menu Exibir no Visual Studio, selecione Servidor Explorer (Explorer de Banco de Dados no Visual Web Developer). Clique com o botão direito do mouse em Connections de Dados e selecione Criar Novo Banco de Dados SQL Server.

Selecting_Create_New_SQL_Server_Database

Na caixa de diálogo Criar Banco de Dados SQL Server, insira ".\SQLExpress" na caixa Nome do servidor e "aspnet-ContosoUniversity" na caixa Novo nome do banco de dados. Selecione OK.

Criar aspnet-ContosoUniversity

Siga o mesmo procedimento para criar um novo banco de dados do SQL Server Express School chamado ContosoUniversity.

O Explorer do servidor mostra os dois novos bancos de dados.

Novos bancos de dados no server Explorer

Criar um script de concessão para os novos bancos de dados

Quando o aplicativo é executado no IIS no computador de desenvolvimento, o aplicativo usa as credenciais do pool de aplicativos padrão para acessar o banco de dados. No entanto, por padrão, o pool de aplicativos não tem permissão para abrir os bancos de dados. Isso significa que você precisa executar um script para conceder essa permissão. Nesta seção, você criará esse script e o executará posteriormente para garantir que o aplicativo possa abrir os bancos de dados quando ele for executado no IIS.

Em um editor de texto, copie os comandos SQL a seguir em um novo arquivo e salve-o como Grant.sql.

IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
    CREATE LOGIN [IIS APPPOOL\DefaultAppPool] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [ContosoUniversityUser] 
  FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'ContosoUniversityUser'
GO

No Visual Studio, abra a solução da Contoso University. Clique com o botão direito do mouse na solução (não em um dos projetos) e selecione Adicionar. Selecione Item Existente, navegue até Grant.sql e abra-o.

Observação

Esse script foi projetado para funcionar com o SQL Server Express 2012 ou posterior e com as configurações do IIS em Windows 10, Windows 8 ou Windows 7 conforme são especificadas neste tutorial. Se você estiver usando uma versão diferente do SQL Server ou do Windows ou se configurar o IIS em seu computador de forma diferente, as alterações nesse script poderão ser necessárias. Para obter mais informações sobre scripts SQL Server, consulte SQL Server Manuais Online.

Observação

Observação de segurança Esse script fornece db_owner permissões para o usuário que acessa o banco de dados em tempo de execução, que é o que você terá no ambiente de produção. Em alguns cenários, talvez você queira especificar um usuário que tenha permissões completas de atualização de esquema de banco de dados somente para implantação e especifique para o tempo de execução um usuário diferente que tenha permissões apenas para ler e gravar dados. Para obter mais informações, consulte Revisão das alterações automáticas de Web.config para Migrações do Code First mais adiante neste tutorial.

Executar o script de concessão no banco de dados do aplicativo

Você pode configurar o perfil de publicação para executar o script de concessão no banco de dados de associação durante a implantação porque essa implantação de banco de dados usa o provedor dbDacFx . Você não pode executar scripts durante Migrações do Code First implantação, que é como você está implantando o banco de dados do aplicativo. Isso significa que você precisa executar manualmente o script antes da implantação no banco de dados do aplicativo.

  1. No Visual Studio, abra o arquivo Grant.sql que você criou anteriormente.

  2. Selecione Conectar.

    Botão Conectar

  3. Na caixa de diálogo Conectar ao Servidor , insira .\SQLExpress como o Nome do Servidor. Selecione Conectar.

  4. Na lista suspensa do banco de dados, selecione ContosoUniversity. Selecione Executar.

    Na lista suspensa do banco de dados, selecione ContosoUniversity. Selecione Executar.

A identidade do pool de aplicativos padrão agora tem permissões suficientes no banco de dados do aplicativo para Migrações do Code First criar as tabelas de banco de dados quando o aplicativo for executado.

Publicar no IIS

Há várias maneiras de implantar no IIS usando o Visual Studio e a Implantação da Web:

  • Use a publicação com um clique no Visual Studio.
  • Publique na linha de comando.
  • Crie um pacote de implantação e instale-o usando o Gerenciador do IIS. O pacote tem um arquivo .zip com todos os arquivos e metadados necessários para instalar um site no IIS.
  • Crie um pacote de implantação e instale-o usando a linha de comando.

O processo que você passou nos tutoriais anteriores para configurar o Visual Studio para automatizar tarefas de implantação se aplica a todos esses métodos. Nestes tutoriais, você usará os dois primeiros métodos. Para obter informações sobre como usar pacotes de implantação, consulte Implantando um aplicativo Web criando e instalando um pacote de implantação da Web no Mapa de Conteúdo de Implantação da Web para Visual Studio e ASP.NET.

Antes da publicação, verifique se você está executando o Visual Studio no modo de administrador. Se você não vir (Administrador) na barra de título, feche o Visual Studio. Na página Iniciar Windows 8 (ou posterior) ou no menu Iniciar do Windows 7, clique com o botão direito do mouse no ícone do Visual Studio e selecione Executar como Administrador. O modo de administrador só é necessário para publicação quando você está publicando no IIS no computador local.

Criar o perfil de publicação

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse no projeto ContosoUniversity (não no projeto ContosoUniversity.DAL). Selecione Publicar. A página Publicar é exibida.

  2. Selecione Novo Perfil. A caixa de diálogo Escolher um destino de publicação é exibida.

  3. Selecione IIS, FTP etc. Selecione Criar Perfil. O assistente Publicar será exibido.

    Guia Publicar Perfil do Assistente da Web

  4. No menu suspenso Publicar método , selecione Implantar na Web.

  5. Para Servidor, insira localhost.

  6. Para Nome do site, insiraSite Padrão/ContosoUniversity.

  7. Para URL de destino, insira http://localhost/ContosoUniversity.

    A configuração url de destino não é necessária. Quando o Visual Studio termina de implantar o aplicativo, ele abre automaticamente o navegador padrão para essa URL. Se você não quiser que o navegador seja aberto automaticamente após a implantação, deixe essa caixa em branco.

  8. Selecione Validar Conexão para verificar se as configurações estão corretas e se você pode se conectar ao IIS no computador local.

    Uma marca de marcar verde verifica se a conexão foi bem-sucedida.

    Guia Publicar Conexão do Assistente da Web

  9. Selecione Avançar para avançar para a guia Configurações .

  10. A caixa suspensa Configuração especifica a configuração de build a ser implantada. Deixe-o definido como o valor padrão de Versão. Você não implantará builds de Depuração neste tutorial.

  11. Expanda Opções de Publicação de Arquivo. Selecione Excluir arquivos da pasta App_Data.

    No ambiente de teste, o aplicativo acessa os bancos de dados que você criou na instância de SQL Server Express local, não os arquivos .mdf na pasta App_Data.

  12. Deixe o pré-compilado durante a publicação e remova arquivos adicionais nas caixas de marcar de destino desmarcadas.

    Opções de Publicação de Arquivo na guia Configurações

    A pré-compilação é uma opção que é útil principalmente para sites grandes. Ele pode reduzir o tempo de inicialização na primeira vez que uma página é solicitada após a publicação do site.

    Você não precisa remover arquivos adicionais, pois essa é sua primeira implantação e ainda não haverá nenhum arquivo na pasta de destino.

    Observação

    Se você selecionar Remover arquivos adicionais no destino para uma implantação subsequente no mesmo site, use o recurso de visualização para ver com antecedência quais arquivos serão excluídos antes da implantação. O comportamento esperado é que a Implantação da Web excluirá arquivos no servidor de destino que você excluiu em seu projeto. No entanto, toda a estrutura de pastas nas pastas de origem e destino é comparada; e, em alguns cenários, a Implantação da Web pode excluir arquivos que você não deseja excluir.

    Por exemplo, se você tiver um aplicativo Web em uma subpasta no servidor quando implantar um projeto na pasta raiz, a subpasta será excluída. Você pode ter um projeto para o site main em contoso.com e outro projeto para um blog no contoso.com/blog. O aplicativo de blog está em uma subpasta. Se você selecionar Remover arquivos adicionais no destino ao implantar o site main, o aplicativo de blog será excluído.

    Por outro exemplo, sua pasta App_Data pode ser excluída inesperadamente. Determinados bancos de dados, como SQL Server Compact, armazenam arquivos de banco de dados na pasta App_Data. Após a implantação inicial, você não deseja continuar copiando os arquivos de banco de dados em implantações subsequentes, portanto, selecione Excluir App_Data na guia Pacote/Publicar Web. Depois de fazer isso se você tiver Remover arquivos adicionais no destino selecionado, seus arquivos de banco de dados e a própria pasta App_Data serão excluídos na próxima vez que você publicar.

Configurar a implantação para o banco de dados de associação

As etapas a seguir se aplicam ao banco de dados DefaultConnection na seção Bancos de Dados da caixa de diálogo.

  1. Na caixa Cadeia de conexão Remoto, insira o cadeia de conexão a seguir que aponta para o novo banco de dados de associação de SQL Server Express.

    Data Source=.\SQLExpress;Initial Catalog=aspnet-ContosoUniversity;Integrated Security=True
    

    O processo de implantação coloca esse cadeia de conexão no arquivo Web.config implantado porque Usar esse cadeia de conexão em runtime está selecionado.

    Você também pode obter o cadeia de conexão do Explorer do Servidor. No Explorer do Servidor, expanda Dados Connections e selecione o <banco de dados machinename>\sqlexpress.aspnet-ContosoUniversity e, na janela Propriedades, copie o valor cadeia de conexão. Esse cadeia de conexão terá uma configuração adicional que você pode excluir: Pooling=False.

  2. Selecione Atualizar banco de dados.

    Isso faz com que o esquema de banco de dados seja criado no banco de dados de destino durante a implantação. Nas próximas etapas, você especifica os scripts adicionais que precisa executar: um para conceder acesso ao banco de dados ao pool de aplicativos padrão e outro para implantar dados.

  3. Selecione Configurar atualizações de banco de dados.

  4. Na caixa de diálogo Configurar banco de dados Atualizações, selecioneAdicionar Script SQL. Navegue até o script de Grant.sql que você salvou anteriormente na pasta da solução.

  5. Repita o processo para adicionar o script aspnet-data-dev.sql .

    Configurar o banco de dados Atualizações para o banco de dados de associação

  6. Selecione Fechar.

Configurar a implantação para o banco de dados do aplicativo

Quando o Visual Studio detecta uma classe Entity FrameworkDbContext, ele cria uma entrada na seção Bancos de Dados que tem uma caixa Executar Migrações do Code First marcar em vez de uma caixa atualizar banco de dados marcar. Para este tutorial, você usará essa caixa de marcar para especificar Migrações do Code First implantação.

Em alguns cenários, você pode estar usando um DbContext banco de dados, mas deseja usar o provedor dbDacFx em vez de Migrações para implantar o banco de dados. Nesse caso, consulte Como fazer implantar um banco de dados code first sem migrações? nas perguntas frequentes sobre implantação da Web ASP.NET no MSDN.

As etapas a seguir se aplicam ao banco de dados SchoolContext na seção Bancos de Dados da caixa de diálogo.

  1. Na caixa Cadeia de conexão Remoto, insira o cadeia de conexão a seguir que aponta para o novo banco de dados de aplicativo SQL Server Express.

    Data Source=.\SQLExpress;Initial Catalog=ContosoUniversity;Integrated Security=True
    

    O processo de implantação coloca esse cadeia de conexão no arquivo Web.config implantado porque Usar esse cadeia de conexão em runtime está selecionado.

    Você também pode obter o banco de dados do aplicativo cadeia de conexão do Explorer do Servidor da mesma forma que obteve o banco de dados de associação cadeia de conexão.

  2. Selecione Executar Migrações do Code First (execuções no início do aplicativo).

    Essa opção faz com que o processo de implantação configure o arquivo Web.config implantado para especificar o MigrateDatabaseToLatestVersion inicializador. Esse inicializador atualiza automaticamente o banco de dados para a versão mais recente quando o aplicativo acessa o banco de dados pela primeira vez após a implantação.

Configurar transformações de perfil de publicação

  1. Selecione Fechar. Selecione Sim quando for perguntado se deseja salvar as alterações.

  2. Em Gerenciador de Soluções, expanda Propriedades, expanda PublishProfiles.

  3. Clique com o botão direito do mouse em CustomProfile.pubxml e renomeie-o como Test.pubxml.

  4. Clique com o botão direito do mouse em Test.pubxml. Selecione Adicionar Transformação de Configuração.

    Menu Adicionar Transformação de Configuração

    O Visual Studio cria o arquivo de transformaçãoWeb.Test.config e o abre.

  5. No arquivo de transformaçãoWeb.Test.config , insira o código a seguir imediatamente após a marca de configuração de abertura.

    <appSettings>
        <add key="Environment" value="Test" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    Quando você usa o perfil De publicação de teste, essa transformação define o indicador de ambiente como "Teste". No site implantado, você verá "(Test)" após o título "Contoso University" H1.

  6. Salve e feche o arquivo.

  7. Clique com o botão direito do mouse no arquivo Web.Test.config e selecione Visualizar Transformação para garantir que a transformação codificada produza as alterações esperadas.

    A janela visualizaçãoWeb.config mostra o resultado da aplicação das transformações deWeb.Release.config e das transformações deWeb.Test.config .

Visualizar as atualizações de implantação

  1. Abra o assistente Publicar Web novamente (clique com o botão direito do mouse no projeto ContosoUniversity, selecione Publicar e, em seguida, Visualizar).

  2. Na caixa de diálogo Visualização , selecione Iniciar Visualização para ver uma lista dos arquivos que serão copiados.

    Publicar Versão Prévia

    Você também pode selecionar o link Visualizar banco de dados para ver os scripts que serão executados no banco de dados de associação. (Nenhum script é executado para Migrações do Code First implantação, portanto, não há nada para visualizar para o banco de dados do aplicativo.)

  3. Selecione Publicar.

    Se o Visual Studio não estiver no modo de administrador, você poderá receber uma mensagem de erro de permissões. Nesse caso, feche o Visual Studio, abra-o no modo de administrador e tente publicar novamente.

    Se o Visual Studio estiver no modo de administrador, a janela Saída relatará compilação e publicação bem-sucedidas.

    Output_window_publish_Test

    Se você inseriu a URL na caixa URL de Destino na guia Conexão do perfil de publicação, o navegador será aberto automaticamente na home page da Contoso University em execução no IIS no computador.

Testar no ambiente de teste

Observe que o indicador de ambiente mostra "(Teste)" em vez de "(Dev)", o que mostra que a transformação Web.config para o indicador de ambiente foi bem-sucedida.

Execute a página Instrutores para verificar se o Code First semeou o banco de dados com dados de instrutor. Quando você seleciona essa página, pode levar alguns minutos para ser carregada porque o Code First cria o banco de dados e executa o Seed método . (Ele não fez isso quando você estava na home page porque o aplicativo ainda não tentou acessar o banco de dados.)

Selecione a guia Alunos para verificar se o banco de dados implantado não tem alunos.

Selecione Adicionar Alunos no menu Alunos . Adicione um aluno e exiba o novo aluno na página Alunos . Isso verifica se você pode gravar com êxito no banco de dados.

No menu Cursos , selecione Atualizar Créditos. A página Atualizar Créditos requer permissões de administrador, portanto, a página De logon é exibida. Insira as credenciais da conta de administrador que você criou anteriormente ("admin" e "devpwd"). A página Atualizar Créditos é exibida. Isso verifica se a conta de administrador que você criou no tutorial anterior foi implantada corretamente no ambiente de teste.

Verifique se existe uma pasta ELMAH na pasta c:\inetpub\wwwroot\ContosoUniversity com apenas o arquivo de espaço reservado nela.

Examine as alterações automáticas de Web.config para Migrações do Code First

Abra o arquivo Web.config no aplicativo implantado em C:\inetpub\wwwroot\ContosoUniversity e você pode ver onde o processo de implantação configurado Migrações do Code First atualizar automaticamente o banco de dados para a versão mais recente.

Abra o arquivo Web.config no aplicativo implantado em C:\inetpub\wwwroot\ContosoUniversity e veja onde o processo de implantação configurado Migrações do Code First atualizar automaticamente o banco de dados para a versão mais recente.

O processo de implantação também criou um novo cadeia de conexão para Migrações do Code First usar exclusivamente para atualizar o esquema de banco de dados:

Database_Publish cadeia de conexão

Esse cadeia de conexão adicional permite que você especifique uma conta de usuário para atualizações de esquema de banco de dados e uma conta de usuário diferente para acesso a dados do aplicativo. Por exemplo, você pode atribuir a função db_owner a Migrações do Code First e db_datareader com db_datawriter funções ao aplicativo. Esse é um padrão comum de defesa detalhada que impede que o código potencialmente mal-intencionado no aplicativo altere o esquema do banco de dados. (Por exemplo, isso pode acontecer em um ataque de injeção de SQL bem-sucedido.) Esses tutoriais não usam esse padrão. Para implementar esse padrão em seu cenário, execute estas etapas:

  1. No assistente Publicar Web na guia Configurações, insira o cadeia de conexão que especifica um usuário com permissões completas de atualização de esquema de banco de dados. Desmarque a caixa Usar esse cadeia de conexão em runtime marcar. No arquivo Web.config implantado, isso se torna o DatabasePublish cadeia de conexão.

  2. Crie uma transformação de arquivo Web.config para o cadeia de conexão que você deseja que o aplicativo use em tempo de execução.

Resumo

Agora você implantou seu aplicativo no IIS no computador de desenvolvimento e o testou lá.

Home page em Teste

Isso verifica se o processo de implantação copiou o conteúdo do aplicativo para o local certo (excluindo os arquivos que você não queria implantar) e também que a Implantação da Web configurou o IIS corretamente durante a implantação. No próximo tutorial, você executará mais um teste que localiza uma tarefa de implantação que ainda não foi feita: definir permissões de pasta na pasta Elm ah .

Mais informações

Para obter informações sobre como executar o IIS ou IIS Express no Visual Studio, consulte os seguintes recursos: