Implantando um aplicativo Web ASP.NET com o SQL Server Compact usando o Visual Studio: Introdução - 1 de 12
por Tom Dykstra
Esta série de tutoriais mostra como implantar (publicar) um projeto de aplicativo Web ASP.NET que inclui um banco de dados SQL Server Compact usando o Visual Studio 2012 RC ou o Visual Studio Express 2012 RC para Web. Você também pode usar o Visual Studio 2010 se instalar a Atualização de Publicação na Web.
Para obter um tutorial que mostra os recursos de implantação introduzidos após a versão RC do Visual Studio 2012, mostra como implantar edições do SQL Server diferentes do SQL Server Compact e mostra como implantar nos Aplicativos Web do Serviço de Aplicativo do Azure, consulte ASP.NET Implantação da Web usando o Visual Studio.
Esses tutoriais orientam você na implantação primeiro no IIS em seu computador de desenvolvimento local para teste e, em seguida, em um provedor de hospedagem de terceiros. O aplicativo que você implantará usa um banco de dados de aplicativo e um banco de dados de associação ASP.NET. Você começa usando o SQL Server Compact e implantando no SQL Server Compact, e os tutoriais posteriores mostram como implantar alterações de banco de dados e como migrar para o SQL Server.
Os tutoriais pressupõem que você saiba como trabalhar com ASP.NET no Visual Studio. Caso contrário, um bom lugar para começar é um Tutorial básico de ASP.NET Web Forms ou um Tutorial básico do MVC ASP.NET.
Se você tiver dúvidas que não estejam diretamente relacionadas ao tutorial, poderá publicá-las no fórum ASP.NET Deployment.
Visão geral
Esses tutoriais orientam você na implantação primeiro no IIS em seu computador de desenvolvimento local para teste e, em seguida, em um provedor de hospedagem de terceiros. O aplicativo que você implantará usa um banco de dados de aplicativo e um banco de dados de associação ASP.NET. Você começa usando o SQL Server Compact e implantando no SQL Server Compact, e os tutoriais posteriores mostram como implantar alterações de banco de dados e como migrar para o SQL Server.
O número de tutoriais – 11 no total, além de uma página de solução de problemas – pode fazer com que o processo de implantação pareça assustador. Na verdade, os procedimentos básicos para implantar um site constituem uma parte relativamente pequena do conjunto de tutoriais. No entanto, em situações do mundo real, muitas vezes você precisa de informações sobre algum aspecto extra pequeno, mas importante, da implantação — por exemplo, definir permissões de pasta no servidor de destino. Incluímos muitas dessas técnicas adicionais nos tutoriais, com a esperança de que os tutoriais não deixem de fora informações que possam impedir que você implante com êxito um aplicativo real.
Os tutoriais são projetados para serem executados em sequência e cada parte se baseia na parte anterior. No entanto, você pode pular partes que não são relevantes para sua situação. (Ignorar partes pode exigir que você ajuste os procedimentos em tutoriais posteriores.)
Público-alvo
Os tutoriais são destinados a desenvolvedores ASP.NET que trabalham em pequenas organizações ou outros ambientes onde:
- Um processo de integração contínua (compilações e implantação automatizadas) não é usado.
- O ambiente de produção é um provedor de hospedagem de terceiros.
- Uma pessoa normalmente preenche várias funções (a mesma pessoa desenvolve, testa e implanta).
Em ambientes corporativos, é mais comum implementar processos de integração contínua, e o ambiente de produção geralmente é hospedado pelos próprios servidores da empresa. Pessoas diferentes também costumam desempenhar papéis diferentes. Para obter informações sobre a implantação corporativa, consulte Implantando aplicativos Web em cenários corporativos.
Organizações de todos os tamanhos também podem implantar aplicativos Web no Azure, e a maioria dos procedimentos mostrados nesses tutoriais também se aplica aos Aplicativos Web dos Serviços de Aplicativos do Azure. Para obter uma introdução ao Azure, consulte https://azure.microsoft.com.
O provedor de hospedagem mostrado nos tutoriais
Os tutoriais orientam você pelo processo de configuração de uma conta com uma empresa de hospedagem e implantação do aplicativo nesse provedor de hospedagem. Uma empresa de hospedagem específica foi escolhida para que os tutoriais pudessem ilustrar a experiência completa de implantação em um site ativo. Cada empresa de hospedagem oferece recursos diferentes e a experiência de implantação em seus servidores varia um pouco; no entanto, o processo descrito neste tutorial é típico para o processo geral.
O provedor de hospedagem usado para este tutorial, Cytanium.com, é um dos muitos disponíveis, e seu uso neste tutorial não constitui um endosso ou recomendação.
Implantando projetos de site
A Contoso University é um projeto de aplicativo Web do Visual Studio. A maioria dos métodos e ferramentas de implantação demonstrados neste tutorial não se aplica a projetos de site. Para obter informações sobre como implantar projetos de site, consulte ASP.NET Mapa de Conteúdo de Implantação.
Implantando ASP.NET projetos MVC
Para este tutorial, você implantará um projeto ASP.NET Web Forms, mas tudo o que você aprender a fazer também se aplica a ASP.NET MVC. Um projeto do Visual Studio MVC é apenas outra forma de projeto de aplicativo Web. A única diferença é que, se você estiver implantando em um provedor de hospedagem que não dá suporte a ASP.NET MVC ou à versão de destino dele, verifique se instalou o pacote NuGet apropriado (MVC 3 ou MVC 4) em seu projeto.
Linguagem de programação
O aplicativo de exemplo usa C#, mas os tutoriais não exigem conhecimento de C# e as técnicas de implantação mostradas pelos tutoriais não são específicas da linguagem.
Solução de problemas durante este tutorial
Quando ocorre um erro durante a implantação ou se o site implantado não é executado corretamente, as mensagens de erro nem sempre fornecem uma solução. Para ajudá-lo com alguns cenários de problemas comuns, uma página de referência de solução de problemas está disponível. Se você receber uma mensagem de erro ou algo não funcionar durante os tutoriais, verifique a página de solução de problemas.
Comentários Bem-vindos
Comentários sobre os tutoriais são bem-vindos e, quando o tutorial for atualizado, todos os esforços serão feitos para levar em consideração as correções ou sugestões de melhorias fornecidas nos comentários do tutorial.
Pré-requisitos
Antes de começar, verifique se você tem o Windows 7 ou posterior e um dos seguintes produtos instalados no computador:
- Visual Studio 2010 SP1
- Visual Web Developer Express 2010 SP1
- Visual Studio 2012 RC ou Visual Studio Express 2012 RC para Web
Se você tiver o Visual Studio 2010 SP1 ou o Visual Web Developer Express 2010 SP1, instale os seguintes produtos também:
- SDK do Azure para .NET (VS 2010 SP1) (inclui a Atualização de Publicação na Web)
- Ferramentas do Microsoft Visual Studio 2010 SP1 para SQL Server Compact 4.0
Algum outro software é necessário para concluir o tutorial, mas você ainda não precisa carregá-lo. O tutorial irá guiá-lo pelas etapas para instalá-lo quando você precisar.
Baixando o aplicativo de exemplo
O aplicativo que você implantará é chamado Contoso University e já foi criado para você. É uma versão simplificada de um site universitário, baseada livremente no aplicativo da Contoso University descrito nos tutoriais do Entity Framework no site ASP.NET.
Quando você tiver os pré-requisitos instalados, baixe o aplicativo Web da Contoso University. O arquivo .zip contém várias versões do projeto e um arquivo PDF que contém todos os 12 tutoriais. Para seguir as etapas do tutorial, comece com ContosoUniversity-Begin. Para ver a aparência do projeto no final dos tutoriais, abra ContosoUniversity-End. Para ver a aparência do projeto antes da migração para o SQL Server completo no tutorial 10, abra ContosoUniversity-AfterTutorial09.
Para se preparar para trabalhar com as etapas do tutorial, salve ContosoUniversity-Begin em qualquer pasta que você usar para trabalhar com projetos do Visual Studio. Por padrão, esta é a seguinte pasta:
C:\Users\<username>\Documents\Visual Studio 2012\Projects
(Para as capturas de tela neste tutorial, a pasta do projeto está localizada no diretório raiz na C
unidade :.)
Inicie o Visual Studio, abra o projeto e pressione CTRL-F5 para executá-lo.
As páginas do site podem ser acessadas na barra de menus e permitem que você execute as seguintes funções:
- Exiba as estatísticas dos alunos (a página Sobre).
- Exiba, edite, exclua e adicione alunos.
- Exiba e edite cursos.
- Exiba e edite instrutores.
- Exiba e edite departamentos.
A seguir estão as capturas de tela de algumas páginas representativas.
Revisando os recursos do aplicativo que afetam a implantação
Os recursos a seguir do aplicativo afetam como você o implanta ou o que você precisa fazer para implantá-lo. Cada um deles é explicado com mais detalhes nos tutoriais a seguir da série.
- A Contoso University usa um banco de dados SQL Server Compact para armazenar dados de aplicativos, como nomes de alunos e instrutores. O banco de dados contém uma combinação de dados de teste e dados de produção e, ao implantar na produção, você precisa excluir os dados de teste. Posteriormente na série de tutoriais, você migrará do SQL Server Compact para o SQL Server.
- O aplicativo usa o sistema de associação ASP.NET, que armazena informações de conta de usuário em um banco de dados SQL Server Compact. O aplicativo define um usuário administrador que tem acesso a algumas informações restritas. Você precisa implantar o banco de dados de associação sem contas de teste, mas com uma conta de administrador.
- Como o banco de dados do aplicativo e o banco de dados de associação usam o SQL Server Compact como o mecanismo de banco de dados, você precisa implantar o mecanismo de banco de dados no provedor de hospedagem, bem como nos próprios bancos de dados.
- O aplicativo usa ASP.NET provedores de associação universal para que o sistema de associação possa armazenar seus dados em um banco de dados SQL Server Compact. O assembly que contém os provedores de associação universal deve ser implantado com o aplicativo.
- O aplicativo usa o Entity Framework 5.0 para acessar dados no banco de dados do aplicativo. O assembly que contém o Entity Framework 5.0 deve ser implantado com o aplicativo.
- O aplicativo usa um utilitário de registro e relatório de erros de terceiros. Esse utilitário é fornecido em um assembly que deve ser implantado com o aplicativo.
- O utilitário de log de erros grava informações de erro em arquivos XML em uma pasta de arquivos. Você precisa garantir que a conta em que ASP.NET é executada no site implantado tenha permissão de gravação para essa pasta e exclua essa pasta da implantação. (Caso contrário, os dados de log de erros do ambiente de teste podem ser implantados na produção e/ou os arquivos de log de erros de produção podem ser excluídos.)
- O aplicativo inclui algumas configurações que devem ser alteradas no arquivo Web.config implantado, dependendo do ambiente de destino (teste ou produção) e outras configurações que devem ser alteradas dependendo da configuração de build (Depuração ou Versão).
- A solução do Visual Studio inclui um projeto de biblioteca de classes. Somente o assembly gerado por esse projeto deve ser implantado, não o projeto em si.
Neste primeiro tutorial da série, você baixou o projeto de exemplo do Visual Studio e examinou os recursos do site que afetam a forma como você implanta o aplicativo. Nos tutoriais a seguir, você se prepara para a implantação configurando algumas dessas coisas para serem tratadas automaticamente. Outros você cuida manualmente.