我正在开发一个使用Katana来公开自托管WebAPI服务的应用程序。我想管理内容的方式与IIS在单个网站下允许多个应用程序的方式类似。
例如,我可能有三个包含web api内容的文件夹:
这些文件夹中的每一个都是独立的应用程序,包括web.config,控制器,路由等。
我可以为每个实例生成一个新的Owin实例,但这需要单独的端口。使用IIS,我可以配置单独的应用程序,以便http://localhost:8080/App1将路由到第一个应用程序,http://localhost:8080/App2将路由到第二个应用程序,依此类推。与Owin / Katana有什么相似之处吗?
答案 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指南来证明,并通过注册上述多个应用程序来扩展它。