Несколько веб-приложений в собственном приложении Owin/Katana

Я работаю над приложением, которое использует Katana для предоставления самостоятельных служб WebAPI. Я хотел бы управлять контентом так же, как IIS позволяет использовать несколько приложений на одном веб-сайте.

Например, у меня может быть три папки, содержащие содержимое веб-API:

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

Каждая из этих папок будет отдельным приложением с web.config, контроллерами, маршрутизацией и т. д.

Я могу создать новый экземпляр Owin для каждого из них, но для этого потребуются отдельные порты. С помощью IIS я могу настроить отдельные приложения, чтобы http://localhost:8080/App1 направлялся к первому приложению. , http://localhost:8080/App2 будет маршрутизироваться ко второму и так далее. Возможно ли что-то подобное с Owin/Katana?


person Glen Hughes    schedule 01.12.2015    source источник


Ответы (1)


Можно запускать экземпляры Owin с общими портами. Вам просто нужно убедиться, что веб-приложения запускаются со своими собственными URL-адресами, например:

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

Вы можете запускать их в одном и том же или отдельных процессах, и запросы будут автоматически направляться в правильный экземпляр.

Я не нашел никакой официальной документации, объясняющей это, но это легко доказать, следуя Руководство по началу работы с Owin и Katana и расширить его, зарегистрировав несколько приложений, как указано выше.

person notracs    schedule 10.05.2017