.NET -  Criando uma aplicação Console Self-Host OWIN - III


 Neste artigo vou mostrar como criar uma aplicação OWIN usando a auto-hospedagem ou self-host em uma aplicação console.

Continuando a segunda parte do artigo vamos criar agora uma aplicação OWIN e hospedá-la em uma aplicação Console.

A ídeia do OWIN é justamente essa : livrar a sua aplicação web da dependência do IIS e permitir que você possa hospedar sua aplicação Web em outro servidor.

Nosso objetivo será então criar uma aplicação Console Self-Host e usá-la como um host onde poderemos hospedar aplicações.

Recursos usados:

Criando a aplicação OWIN no VS 2017

Abra o VS 2017 Community e crie um projeto do tipo Console App (.NET Framework) chamado SelfHost_App;

Temos assim uma aplicação Console. Vamos incluir alguns pacotes para torná-la uma aplicação OWIN.

Adicionando os Pacotes NuGet

Vamos então incluir o pacote Nuget Microsoft.Owin.Host.SystemWeb

No menu Tools, selecione Nuget Package Manager e selecione Mange Nuget Packages for Solution;

Na janela clique em Browse e selecione o pacote Microsoft.Owin.Host.SystemWeb, marque o projeto e clique no botão Install:

   

A seguir instale também o pacote nuget :  Microsoft.Owin.SelfHost.

No menu Tools, selecione Library Package Manager e selecione Package Manager Console.

Na janela do Console do Gerenciador de Pacotes, digite o seguinte comando:  Install-Package Microsoft.Owin.SelfHost

Pronto. Nossa aplicação Console já contém as referências ao OWIN necessárias:

Agora vamos incluir a classe Startup.cs no projeto para poder definir algumas configurações iniciais em nossa aplicação.

Criando a classe Startup

No menu Project clique em Add Class e selecione o template OWIN Startup Class informando o nome Startup e clicando no botão Add:

Inclua o código abaixo no arquivo Startup :

using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SelfHost_App.Startup))]
namespace SelfHost_App
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseErrorPage();
            app.UseWelcomePage();
        }
    }
}

Neste código adicionamos dois middlewares ao pipeline OWIN : 

  1. UseErrorPage()
  2. UseWelcomePage()

Agora precisamos tornar nossa aplicação Console em um servidor local.

Para isso vamos usar a classe WebApp do namespace Microsoft.Owin.Hosting que possui métodos para carregar, montar e iniciar uma aplicação web.

Inclua o código abaixo no método Main() da classe Program:

using Microsoft.Owin.Hosting;
using static System.Console;
namespace SelfHost_App
{
    class Program
    {
        static void Main(string[] args)
        {
            using (WebApp.Start<Startup>("http://localhost:5000"))
            {
                WriteLine("Usando Self-Host em uma aplicação Console...");
                ReadLine();
            }
        }
    }
}

Executando a aplicação Console teremos:

Agora abra o seu navegador e digite a url definida na classe Main: http://localhost:5000

Como resultado temos a nossa primeira aplicação self-host pronta, sem nenhuma dependência do IIS e pronta para receber as aplicações web.

Na próxima parte do artigo veremos como criar uma Web API Self-hosted baseada em OWIN.

Pegue o projeto completo aqui: SelfHost_App.zip

"E os que são de Cristo crucificaram a carne com as suas paixões e concupiscências.
Se vivemos em Espírito, andemos também em Espírito.
Não sejamos cobiçosos de vanglórias, irritando-nos uns aos outros, invejando-nos uns aos outros."
Gálatas 5:24-26

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:


José Carlos Macoratti