Este artigo é parte da série:
Preparando o Ambiente
O IIS, por padrão, não tem capacidade de publicar um site ou API baseado em .NET Core. Para isso, é necessário instalar o .NET Core Hosting Bundle. Baixe diretamente no site da Microsoft através do link:
Então, antes de qualquer coisa, baixe o programa e instale no servidor IIS que irá hospedar a aplicação.
No IIS Manager, clique-direito sobre “Application Pools” e adicione um novo pool selecionando “Add Application Pool…”
Dê um nome para o novo pool, no nosso caso, chamei de “t01” e, em “.NET CLR Version”, escolha “No Managed Code”.
Executando a Aplicação Embaixo de Um Site Já Existente
Essa opção é útil para executar no computador de desenvolvimento, sob o endereço “localhost/(nome da aplicação)”.
No IIS Manager, clique-direito sobre o site que irá rodas a aplicação e “Add Application…”
Dê um nome para a sua aplicação no campo “Alias”. Observe que esse nome é o que vai constar no endereço do site, como um subdiretório. Por exemplo, eu dei o nome “t01”, então, no meu computador local, a aplicação será acessada pelo endereço http://localhost/t01. Depois, selecione a application pool que acabamos de criar no item anterior e escolha uma pasta na sua estrutura de arquivos que irá hospedar o site. No caso deste exemplo, os arquivos que compõem o site ficarão hospedados em “C:\Temp\T01”.
Executando a Aplicação em Um Site Próprio
Esse vai ser, normalmente, o cenário encontrado no mundo real, no qual a aplicação vai responder em um endereço-base como “https://meusite.com.br” ou um subdomínio, como “https://minhaapp.meusite.com.br”. Este subdomínio pode ser até mesmo no computador de desenvolvimento, respondendo por um endereço local, como “https://t01.localhost”.
No IIS, clique-direito em “Sites”, “Add Website…”
Quem vai definir o endereço que vai responder por este site dentro do IIS é a informação “Host name”. No exemplo abaixo, eu preenchi “t01.localhost”, dessa forma, para se acessar este site dentro do computador de desenvolvimento deve acessar “http://t01.localhost”. Se for um site hospedado dentro de um servidor IIS rodando vários sites públicos, é neste campo que você vai preencher o endereço que o site vai responder na Internet, por exemplo “meusite.com.br”, ou “minhaapp.meusite.com.br”.
Publicando a Aplicação
A parte tocante ao IIS já está concluída. Agora vamos para o Visual Studio para publicar a aplicação. Atenção para uma coisa muito importante: como aquela pasta está agora sendo gerenciada pelo IIS, pode ser necessário interromper o serviço IIS quando for publicar ou atualizar a aplicação. Para isso, basta pressionar clique-direito sobre o nome do site e selecionar “Manage Website”. Lá você vai encontrar os comandos de Start e Stop do website. Antes de publicar, pare o serviço e, depois de publicado, inicie novamente clicando em “Start”.
No Visual Studio, para acessar a aba de publicação do projeto, clique-direito sobre o nome do projeto e então em “Publish”…
Clique em “New Profile” e então selecione “Folder”.
Escolha a pasta onde a aplicação será publicada. No caso deste exemplo, conforme configurei anteriormente no IIS, a pasta deve ser “C:\Temp\T01”. Depois disso, basta clicar em “Finish” e o perfil de publicação estará criado.
9. Agora basta clicar em “Publish” e todos os arquivos necessários para execução da aplicação serão publicados naquela pasta.
10. Para fazer o teste definitivo, encerre o Visual Studio e acesse a aplicação pelo endereço publicado. No caso deste exemplo, o endereço ficou “http://localhost/t01”. Para ver o Swagger funcionando, basta acrescentar “/swagger” ao final do endereço. Neste exemplo: “http://localhost/t01/swagger”.