自托管 Owin/Katana 应用程序中的多个 Web 应用程序
Multiple Web Applications within Self Hosted Owin/Katana Application
我正在开发一个使用 Katana 公开自托管 WebAPI 服务的应用程序。我想以类似于 IIS 允许单个网站下的多个应用程序的方式管理内容。
例如,我可能有三个文件夹包含 web api 内容:
- C:\SelfHost\App1
- C:\SelfHost\App2
- C:\SelfHost\App3
这些文件夹中的每一个都将是一个独立的应用程序,具有 web.config、控制器、路由等
我可以为其中的每一个生成一个新的 Owin 实例,但这需要单独的端口。使用 IIS,我可以配置单独的应用程序,以便 http://localhost:8080/App1 will route to the first app, http://localhost:8080/App2 将路由到第二个应用程序,依此类推。 Owin/Katana 有类似的可能吗?
可以 运行 Owin 实例共享端口。您只需要确保 WebApps 以其自己的特定 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 指南并通过如上所述注册多个应用程序来扩展它很容易证明。
我正在开发一个使用 Katana 公开自托管 WebAPI 服务的应用程序。我想以类似于 IIS 允许单个网站下的多个应用程序的方式管理内容。
例如,我可能有三个文件夹包含 web api 内容:
- C:\SelfHost\App1
- C:\SelfHost\App2
- C:\SelfHost\App3
这些文件夹中的每一个都将是一个独立的应用程序,具有 web.config、控制器、路由等
我可以为其中的每一个生成一个新的 Owin 实例,但这需要单独的端口。使用 IIS,我可以配置单独的应用程序,以便 http://localhost:8080/App1 will route to the first app, http://localhost:8080/App2 将路由到第二个应用程序,依此类推。 Owin/Katana 有类似的可能吗?
可以 运行 Owin 实例共享端口。您只需要确保 WebApps 以其自己的特定 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 指南并通过如上所述注册多个应用程序来扩展它很容易证明。