Buscar..


Introducción

¿Qué es Katana? Katana es un conjunto de componentes de código abierto para crear y alojar aplicaciones web basadas en OWIN, mantenidas por Microsoft Open Technologies Group. Katana proporciona una implementación de la especificación OWIN y, de hecho, se usa en un número creciente de plantillas de proyectos ASP.NET. . Además, Katana proporciona una amplia variedad de componentes de middleware listos para usar, listos para usar en una aplicación basada en OWIN.

Ejemplo

Aplicación básica de KatanaConsole

namespace KatanaConsole
{
    // use an alias for the OWIN AppFunc:
    using AppFunc = Func<IDictionary<string, object>, Task>;
 
    class Program
    {
        static void Main(string[] args)
        {
            WebApp.Start<Startup>("http://localhost:8080");
            Console.WriteLine("Server Started; Press enter to Quit");
            Console.ReadLine();
        }
    }
 
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            var middleware = new Func<AppFunc, AppFunc>(MyMiddleWare);
            app.Use(middleware);
        }
 
        public AppFunc MyMiddleWare(AppFunc next)
        {
            AppFunc appFunc = async (IDictionary<string, object> environment) =>
            {
                // Do something with the incoming request:
                var response = environment["owin.ResponseBody"] as Stream;
                using (var writer = new StreamWriter(response))
                {
                    await writer.WriteAsync("<h1>Hello from My First Middleware</h1>");
                }
                // Call the next Middleware in the chain:
                await next.Invoke(environment);
            };
            return appFunc;
        }
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow