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

时间:2015-12-01 04:40:35

标签: owin katana

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

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

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

这些文件夹中的每一个都是独立的应用程序,包括web.config,控制器,路由等。

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

1 个答案:

答案 0 :(得分:3)

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

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指南来证明,并通过注册上述多个应用程序来扩展它。