Empezando con nancy

Cree una aplicación Nancy autohospedada simple

  1. Use Nuget para instalar los paquetes Nancy y Nancy.Hosting.Self en el proyecto.

  2. Cree una instancia de un nuevo objeto NancyHost y pase la URL relevante usando( var host = new NancyHost( hostConfiguration, new Uri( “http://localhost:1234” ) ) ) { host.Start(); Console.WriteLine( “Running on http://localhost:1234” ); Console.ReadLine(); } Coloque este código en su proyecto en el punto en el que desea comenzar a escuchar el tráfico http.

  3. Agregue una clase a su proyecto que herede de NancyModule y agregue un método constructor.

    public class FooModule : NancyModule { public FooModule() { } }

  4. Defina rutas en el constructor:

    … public FooModule() { Get[“Bar”] = parameters => { return “You have reached the /bar route”; } }

Configure Nancyfx con Dotnet core v1.1, Kestrel y Visual Studio Code en sistemas *nix

Pasos previos:

  1. Obtenga dotnet core para su plataforma:

    Dotnet Core

  2. Siga las instrucciones y asegúrese de que dotnet core funcione
  3. Obtenga Visual Studio Code para su plataforma:

    Código VS

  4. Inicie Visual Studio Code (código VS) e instale la extensión C# y luego vuelva a cargar

Cree un proyecto NancyFx autohospedado:

  1. Configure un proyecto con una estructura de directorio de proyecto correcta.

    Abra Bash Terminal y escriba:

    mkdir nancydotnetcore cd nancydotnetcore mkdir origen prueba mkdir toque global.json
  2. Abra global.json e ingrese el siguiente código: { "projects":["src", "test"] }
  3. En la terminal Bash: cd origen mkdir NancyProyecto1 dotnet nuevo

    Abra la carpeta NancyProject1 en el código VS

    Recibirá una advertencia: “Faltan los activos necesarios para compilar y depurar en ’nancyproject1’”.

    Haga clic en “Sí”

    También verá: Hay dependencias no resueltas de ‘project.json’. Ejecute el comando de restauración para continuar.

    Haga clic en “Cerrar” y llegaremos a esto pronto.

  4. Agrega las dependencias, abre "project.json" y sobreescríbelo con lo siguiente: { "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "emitEntryPoint": true },
    "frameworks": {
        "netcoreapp1.1": {
            "dependencies": {
                "Microsoft.AspNetCore.Hosting": "1.1.0",
                "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
                "Microsoft.AspNetCore.Owin": "1.1.0",
                "Nancy": "2.0.0-barneyrubble",
                "Microsoft.NETCore.App": {
                    "type": "platform",
                    "version": "1.1.0"
                }
            }
        }
    }
    

    }

    El código VS le pedirá que restaure, haga clic en “Restaurar”

  5. Crear carpeta "Módulos" en el proyecto VSCode

    En la carpeta Módulos, agregue un archivo llamado “IndexModule.cs”, luego copie y guarde lo siguiente:

    espacio de nombres NancyProject1 { using Nancy; public class IndexModule : NancyModule { public IndexModule() { Get("/", _ => "Hello dotnet core world!"); } } }
  6. En el directorio raíz del proyecto, cree un archivo llamado "Startup.cs" y copie y pegue lo siguiente: espacio de nombres NancyProject1 { using Microsoft.AspNetCore.Builder; using Nancy.Owin;
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.UseOwin(x => x.UseNancy());
        }
    }
    

    }

  7. Abra el archivo “Program.cs” y sobrescriba el contenido con lo siguiente y guárdelo:

    namespace NancyProject1
    {
        using System.IO;
        using Microsoft.AspNetCore.Builder;
        using Microsoft.AspNetCore.Hosting;
    
        public class Program
        {
            public static void Main(string[] args)
            {
                var host = new WebHostBuilder()
                    .UseContentRoot(Directory.GetCurrentDirectory())
                    .UseKestrel()
                    .UseStartup<Startup>()
                    .Build();
    
                host.Run();
            }
        }
    }
    
  8. ¡Hecho! Ahora vamos a ejecutar esto y ver el resultado.

    Haga clic en el símbolo de depuración en VS Code y haga clic en el botón Ejecutar. Debería compilar e iniciar el proyecto.

    Abra el navegador @ http://localhost:5000

  9. ¡Date unas palmaditas en la espalda y disfruta!