我对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>());
}
}
我配置了门户项目这样的东西。
当我从VS2017运行该项目时,它返回HTTP错误403.14 - Forbidden页面。
其实我的期望是,它应该在浏览器上打印 "Response from Temp Middleware "的消息。
我的代码中存在任何问题吗?
谅谅
Map()
是用于分支管道的。在委托人中,第二个参数中的 Map()
方法,你更需要 运转 一个中间件。
你的配置代码应该是这样的。
public void Configuration(IAppBuilder app)
{
app.Map("/temp", config => config.Run(async context =>
{
await context.Response.WriteAsync("Response from Temp Middleware");
}));
}