Запуск нескольких приложений под одним хостом и портом - PullRequest
1 голос
/ 28 марта 2019

Я занимаюсь разработкой нескольких основных приложений asp.net в одном решении, и когда я запускаю решение в Visual Studio с помощью IIS Express, мне бы хотелось, чтобы они были под одним URL-адресом и портом. Например:

Я пытался изменить файл lauchSettings.json, чтобы использовать тот же хост и URL, но затем возникла ошибка, что сервер не может работать.

Есть ли способ настроить его?

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:44369/App2",
      "sslPort": 44369
    }
  },
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "App2": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    }
  }
}

1 Ответ

1 голос
/ 28 марта 2019

Это невозможно, и является прекрасным примером того, почему любой веб-разработчик должен ознакомиться с фактической платформой, на которой он намерен разрабатывать, а именно: протоколами HTTP и TCP / IP и, честно говоря, только с тем, как сокеты работают вВ общем, в этом случае.

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

В чем-то вроде веб-приложения «сотрудник» в приведенном выше сценарии определяется какURL и / или порт.Технически это всегда порт URL и , но любой из них может быть «по умолчанию».Таким образом, только порт предполагает 0.0.0.0 или набор всех IP-адресов, назначенных машине, и просто URL-адрес предполагает порт протокола по умолчанию (80 для HTTP, 443 для HTTPS).В любом случае, для этой комбинации должен быть один уникальный получатель.Опять же, возвращаясь к аналогии с офисом, представьте себе двух сотрудников, у которых разделение, офис и кусок почты были адресованы только номеру комнаты офиса.Как бы вы узнали, кому из этих двух сотрудников было предназначено на самом деле ?Ты не можешь.На самом деле это больше похоже на то, что два сотрудника с одинаковыми именем и фамилией делят офис.Даже если бы у вас было имя сотрудника, вы все же не знали бы, куда его доставить.

Короче говоря, то, что вы хотите, невозможно, и это очевидно невозможно, если вы действительно понимаете платформу, на которой разрабатываете, что является откровенным условием для любого вида разработки.Каждое приложение должно использовать уникальный URL-адрес, уникальный порт или оба.Другого выбора нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...