 .NET 
-  Criando uma aplicação Console Self-Host OWIN - III
.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 :
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
 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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET

ASP .NET Web API - Criando e Consumindo uma Web API ... - Macoratti
ASP .NET Core - Criando sua primeira Web API com ASP ... - Macoratti