OWIN Url路由

问题描述 投票:0回答:1

我对OWIN很陌生,想了解OWIN映射扩展如何工作。我创建了一个空ASP.Net项目,并引用了Owin、Microsoft.Owin、Microsoft.Owin.Host.SystemWeb包。

我创建了一个类似bello的中间件类。

public class TempMiddleware : OwinMiddleware
{
    public TempMiddleware(OwinMiddleware next) 
        : base(next)
    {
    }

    public override Task Invoke(IOwinContext context)
    {
        return context.Response.WriteAsync("Response from Temp Middleware");
    }
}

这是我的OWIN启动类。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.Map("/temp", config => config.Use<TempMiddleware>());
    }
}

我配置了门户项目这样的东西。

enter image description here

当我从VS2017运行该项目时,它返回HTTP错误403.14 - Forbidden页面。

其实我的期望是,它应该在浏览器上打印 "Response from Temp Middleware "的消息。

我的代码中存在任何问题吗?

谅谅

mapping owin middleware
1个回答
0
投票

Map() 是用于分支管道的。在委托人中,第二个参数中的 Map() 方法,你更需要 运转 一个中间件。

你的配置代码应该是这样的。

public void Configuration(IAppBuilder app)
{
    app.Map("/temp", config => config.Run(async context => 
    {
        await context.Response.WriteAsync("Response from Temp Middleware");
    }));
}
© www.soinside.com 2019 - 2024. All rights reserved.