我正在开发一个使用 Katana 公开自托管 WebAPI 服务的应用程序。我想以类似于 IIS 允许单个网站下的多个应用程序的方式来管理内容。
例如,我可能有三个包含 web api 内容的文件夹:
这些文件夹中的每一个都是一个独立的应用程序,包含 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/