gpt4 book ai didi

.net - 使用 OWIN 并排运行不同的框架

转载 作者:行者123 更新时间:2023-12-04 16:44:26 26 4
gpt4 key购买 nike

我对 Owin 的一大好处的印象是,它可以轻松地并行运行不同的 Web 框架,而无需 IIS IHttpHandler . (这对于将垂直功能切片作为 nuget 功能进行分发非常重要。)

然而,我发现每篇教程和文章都在谈论诸如自托管和单一框架之类的事情。这不是我感兴趣的,我感兴趣的是在同一个应用程序中运行 mvc、nancy、web api,甚至可能是 webforms。

我对 OWIN 启用此功能有什么误解吗?说我想要

  • MVC 处理大多数请求
  • 用于处理具有 version=legacy header 的请求的 Web 表单
  • Nancy 处理对/Nancy/... 的请求

  • 我将如何配置我的 Startup类来启用这个?

    最佳答案

    尽管用例听起来有点荒谬,但 OWIN 支持这一点是绝对正确的。你可以用各种疯狂的方式来组成你的管道。

    直管

    典型的“直”管道如下所示:

    public class Startup
    {
    public void Configuration(IAppBuilder app)
    {
    app.UseWebApi(new MyHttpConfiguration());
    app.MapSignalR();
    app.UseNancy();
    }
    }

    这将按如下方式工作(假设您在 http://localhost/ 上托管)
  • WebAPI - http://localhost/api/* (默认路由)
  • SignalR - http://localhost/signalr (默认路由)
  • 南希 - http://localhost/* (将处理其他一切)

  • 分支管道

    您还可以在管道中创建分支:
    public class Startup
    {
    public void Configuration(IAppBuilder app)
    {
    app.UseWebApi(new MyHttpConfiguration());

    app.Map("/newSite", site =>
    {
    site.MapSignalR();
    site.UseNancy();
    });
    }
    }

    这将按如下方式工作(假设您在 http://localhost/ 上托管)
  • WebAPI - http://localhost/api/* (默认路由)
  • SignalR - http://localhost/newSite/signalr (默认路由)
  • 南希 - http://localhost/newSite/* (将处理其他一切)
  • 关于.net - 使用 OWIN 并排运行不同的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215428/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com