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

Gle*_*hes 5 owin katana

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

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

  • C:\ SelfHost \应用1
  • C:\ SelfHost \应用2
  • C:\ SelfHost \程序App3

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

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

not*_*acs 3

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

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

您可以在相同或单独的进程中启动这些进程,请求将自动路由到正确的实例。

我没有找到任何官方文档来解释这一点,但通过遵循Owin 和 Katana 入门指南并通过如上所述注册多个应用程序来扩展它,很容易证明这一点。