3 votes

Pourquoi l'hébergement en dehors d'IIS est-il appelé "auto-hébergement" ?

En général, si un fournisseur de services tiers gère le serveur web pour moi, il s'agit d'un hébergement, tandis que si je gère moi-même le serveur web, il s'agit d'un auto-hébergement.

Dans ASP.NET Core, Dans les deux cas, c'est moi qui publie le code sur le serveur, à l'époque d'IIS on ne parle pas d'auto-hébergement ? que signifie exactement "auto-hébergement" ?

Pour moi, en tant que programmeur, l'auto-hébergement signifie que l'application doit être capable de s'auto-héberger, ce qui signifie qu'elle doit être capable d'écouter les requêtes web directement ou qu'elle doit fonctionner sur son propre processus. Ai-je tort ? S'il vous plaît, que quelqu'un m'aide à comprendre la signification de "self" dans self-hosting.

De plus, l'image utilisée par Microsoft pour expliquer l'auto-hébergement est très confuse pour moi, pour autant que je sache, IIS utilise w3wp.exe pour exécuter l'application en tant que enter image description here

l'image ci-dessus est bonne, w3wp est le processus dans lequel notre application s'exécute et IIS est le conteneur global.

mais maintenant, regardez cette image enter image description here

Ici, l'application est l'enveloppe et Kestral se trouve à l'intérieur de l'application et le processus (dotnet.exe/ application.exe) est l'enveloppe contenant le Kestral, pourquoi en est-il ainsi ?

pour moi, ça devrait être

enter image description here

pourquoi mon image est différente de celle de Microsoft pour l'auto-hébergement ? où est-ce que je manque le concept ?

1voto

Nicola Biada Points 1091

Je pense que vous devez étendre le concept :
Hébergé est essentiellement une application (web app) exposée via un service tiers qui exécute un serveur (serveur web) pour vous.
Auto-hébergement est la même application exposée via un serveur géré par vous.

Parfois, comme le mentionne à juste titre Vineet, l'expression "auto-hébergée" désigne une application avec une serveur processus exposant l'application elle-même. Comme Kestrel pour Blazor.

IIS n'est pas le facteur discriminant pour l'hébergement ou l'auto-hébergement, c'est juste la base du concept.

De mon point de vue, lorsque j'utilise IIS Express intégré dans Visual Studio debug, l'application est auto-hébergée et hébergée en même temps.
Est hébergé sur dans IIS Express du point de vue du serveur web et, en même temps, est auto-hébergé du point de vue du service.

Pour information : le nomdel'application.exe produit par le compilateur pour l'application Blazor est juste une lanceur basé sur Kestrel. C'est un serveur web qui lance le applicationname.dll

Voici un exemple de deux applications totalement différentes. L'exécutable (vous pouvez l'ouvrir avec un éditeur binaire) est le même.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X