【问题标题】:OWIN Url routingOWIN URL 路由
【发布时间】:2020-08-15 16:22:40
【问题描述】:

我对 OWIN 非常陌生,并试图了解 OWIN 映射扩展将如何工作。我创建了一个 Empty 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 - 禁止页面。

实际上我的期望是,它应该在浏览器上打印“来自临时中间件的响应”消息。

我的代码有什么问题吗?

谢谢

【问题讨论】:

    标签: c# mapping owin middleware


    【解决方案1】:

    Map() 用于分支管道。在委托中,Map() 方法的第二个参数,您宁愿运行一个中间件。

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

    public void Configuration(IAppBuilder app)
    {
        app.Map("/temp", config => config.Run(async context => 
        {
            await context.Response.WriteAsync("Response from Temp Middleware");
        }));
    }
    

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 2018-01-13
      • 2018-12-28
      • 2014-08-31
      • 2014-08-08
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多