owin - 自托管 Owin/Katana 应用程序中的多个 Web 应用程序

标签 owin katana

我正在开发一个使用 Katana 公开自托管 WebAPI 服务的应用程序。我想以类似于 IIS 允许单个网站下的多个应用程序的方式来管理内容。

例如,我可能有三个包含 web api 内容的文件夹:

  • C:\SelfHost\App1
  • C:\SelfHost\App2
  • C:\SelfHost\App3

  • 这些文件夹中的每一个都是一个独立的应用程序,包含 web.config、 Controller 、路由等。

    我可以为每个实例生成一个新的 Owin 实例,但这需要单独的端口。使用 IIS,我可以配置单独的应用程序,以便 http://localhost:8080/App1将路由到第一个应用程序,http://localhost:8080/App2将路由到第二个,依此类推。 Owin/Katana 是否有类似的可能?

    最佳答案

    可以运行共享端口的 Owin 实例。您只需要确保 WebApp 以它们自己的特定 URL 启动,例如:

    Microsoft.Owin.Hosting.WebApp.Start<App1Startup>("http://localhost:8080/App1");
    Microsoft.Owin.Hosting.WebApp.Start<App2Startup>("http://localhost:8080/App2");
    

    您可以在相同或不同的进程中启动它们,请求将自动路由到正确的实例。

    我没有找到任何官方文档来解释这一点,但是通过遵循 Getting Started With Owin and Katana 很容易证明指南,并通过注册多个应用程序来扩展它。

    关于owin - 自托管 Owin/Katana 应用程序中的多个 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34012721/

    相关文章:

    c# - OWIN/Katana 未处理的异常全局处理程序?

    asp.net - Kestrel 和 Katana 之间的区别

    c# - WebApp.Start<TStartup> 方法类型参数

    ASP.NET 与 Instagram 身份验证

    c# - WebAPI - 统一来自 ApiController 和 OAuthAuthorizationServerProvider 的错误消息格式

    c# - 用户 (IPrincipal) 在使用 Web Api 2.1 和 Owin 的 ApiController 构造函数上不可用

    asp.net - 在 openId 授权代码流中使用最新版本的 Katana DLL 进行自动代码(授权代码)兑换

    owin - ASP.NET MVC 5 中的启动类

    c# - Startup.cs 中的 OpenIdConnectAuthenticationOptions 问题(AuthenticationFailed 属性)

    asp.net-mvc - 注册 IExceptionLogger OWIN 与 WebApiConfig