Size: a a a

var chat = new Chat();

2021 June 21

KS

Konstantin Sharykin in var chat = new Chat();
Сорри, но сейчас посыпятся много вопросов)
Что значит внепроцессорное и внутрипроцессорное размещение?
источник

SC

Serega Carbon in var chat = new Chat();
Внутрипроцессное - это когда приложение выполняется в том же процессе, что и рабочий процесс IIS
источник

KS

Konstantin Sharykin in var chat = new Chat();
То есть, если я правильно понимаю, то IIS/Nginx получают запрос, и направляют в Кестрел
А тот в свою очередь что то с этим запросом делает и возвращает обратно?
источник

SC

Serega Carbon in var chat = new Chat();
Внепроцессное - это когда ... ну думаю догадаешься)
источник

KS

Konstantin Sharykin in var chat = new Chat();
Ооооооо
Неожиданно
источник

VL

Vova Lantsov in var chat = new Chat();
Да
источник

KS

Konstantin Sharykin in var chat = new Chat();
+
источник

KS

Konstantin Sharykin in var chat = new Chat();
Я так понимаю, это появилось тогда, когда появился .NET Core?
источник

SC

Serega Carbon in var chat = new Chat();
тот по-факту (т.к. это Кестрел) передаёт уже с помощью HttpContext в само приложение на Аспе
источник

KS

Konstantin Sharykin in var chat = new Chat();
А как он это делает?
источник

SC

Serega Carbon in var chat = new Chat();
Хотя при внепроцессном вроде бы сначала через промежуточное ПО через конвеер проходит, а потом уже экземпляром HttpContext идёт в приложение
источник

VL

Vova Lantsov in var chat = new Chat();
Вот пример для нгинкс

server {
   server_name domain.com;
   listen 443 ssl http2;

   location / {
       proxy_pass http://localhost:5000;
   }
}

server {
   server_name test.domain.com;
   listen 443 ssl http2;

   location / {
       proxy_pass http://localhost:5001;
   }
}


На портах 5000 и 5001 работает 2 разных приложения на кестреле.

Если юзер в браузере пишет https://domain.com то запрос прилетает в апку на порту 5000
Если пишет test.domain.com то на порт 5001

Если же ты кестрел поднимешь слушать порт 443 (при чём не только локалхост, а глобально) то считай что у тебя только одно приложение будет пахать на весь порт, при этом даже не сортируя по доменному имени. Что ты сделаешь запрос на domain.com, что на kokoko.domain.com, оно его схавает
источник

VL

Vova Lantsov in var chat = new Chat();
Майки сами рекомендуют не открывать кестрел во внешний мир, поэтому в проде всегда используются прокси сервера (про иис точно не скажу, так как на винды хостингом не занимаюсь, но видимо у него нет равноценных аналогов)
источник

SC

Serega Carbon in var chat = new Chat();
у нас на проде да, прокси представляет собой IIS, т.к. Виндовс сервера)
источник

AK

Alex Kiev in var chat = new Chat();
вроде уже устарело
источник

AK

Alex Kiev in var chat = new Chat();
и рекомендуют
источник

VL

Vova Lantsov in var chat = new Chat();
Хмм, ну в любом случае как делить порт по доменным именам - вопрос
источник

SC

Serega Carbon in var chat = new Chat();
там явно про это не написано, что рекомендуют / не рекомендуют
источник

VL

Vova Lantsov in var chat = new Chat();
При чём не факт что там только дотнетовские апки работают
источник

AK

Alex Kiev in var chat = new Chat();
а вот если надо делить - добро пожаловать в IIS/nginx )
источник