Evento
Campionato do Mundo de Power BI DataViz
Feb 14, 4 PM - Mar 31, 4 PM
Con 4 posibilidades de entrar, poderías gañar un paquete de conferencias e facelo ao Live Grand Finale en Las Vegas
Máis informaciónEste explorador xa non é compatible.
Actualice a Microsoft Edge para dispoñer das funcionalidades máis recentes, as actualizacións de seguranza e a asistencia técnica.
Nota
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Aviso
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la directiva de compatibilidad de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión de .NET 9 de este artículo.
Dado que las aplicaciones ASP.NET Core se ejecutan en un proceso independiente del proceso de trabajo de IIS, el módulo ASP.NET Core se encarga de la administración de procesos. El módulo inicia el proceso de la aplicación ASP.NET Core cuando entra la primera solicitud y reinicia la aplicación si esta se apaga o se bloquea. Este comportamiento es básicamente el mismo que el de las aplicaciones que se ejecutan en proceso y se administran a través del Servicio de activación de procesos de Windows (WAS).
En el siguiente diagrama se muestra la relación entre IIS, el módulo ASP.NET Core y una aplicación hospedada fuera de proceso:
El módulo ASP.NET Core especifica el puerto a través de una variable de entorno en el inicio. La extensión de UseIISIntegration configura el servidor para que escuche en http://localhost:{PORT}
. Se realizan más comprobaciones y se rechazan las solicitudes que no se hayan originado en el módulo. El módulo no es compatible con el reenvío de HTTPS. Las solicitudes se reenvían a través de HTTP, aunque IIS las reciba a través de HTTPS.
Una vez que Kestrel toma la solicitud del módulo, la reenvía a la canalización de middleware de ASP.NET Core. La canalización de middleware controla la solicitud y la pasa como una instancia de HttpContext
a la lógica de la aplicación. El middleware agregado por la integración de IIS actualiza el esquema, la dirección IP remota y PathBase para responder del reenvío de la solicitud a Kestrel. La respuesta de la aplicación se vuelve a pasar a IIS, que la reenvía de nuevo al cliente HTTP que inició la solicitud.
Para instrucciones sobre la configuración del módulo ASP.NET Core, consulte Módulo ASP.NET Core (ANCM) para IIS.
Para obtener más información sobre el hospedaje, consulte Hospedaje en ASP.NET Core.
Al compilar un host en CreateHostBuilder
(Program.cs
), llame a CreateDefaultBuilder para permitir la integración de IIS:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
...
Para más información sobre CreateDefaultBuilder
, consulte CreateDefaultBuilder
.
Modelo de hospedaje fuera de proceso
Para configurar las opciones de IIS, incluya una configuración de servicio para IISOptions en ConfigureServices. En el ejemplo siguiente se impide que la aplicación rellene HttpContext.Connection.ClientCertificate
:
services.Configure<IISOptions>(options =>
{
options.ForwardClientCertificate = false;
});
Opción | Default | Parámetro |
---|---|---|
AutomaticAuthentication |
true |
Si es true , el middleware de integración con IIS establece el HttpContext.User autenticado mediante autenticación de Windows. Si es false , el middleware solo proporciona una identidad para HttpContext.User y responde a los desafíos cuando se le solicita explícitamente mediante el AuthenticationScheme . Autenticación de Windows debe estar habilitado en IIS para que AutomaticAuthentication funcione. Para más información, consulte el tema Autenticación de Windows. |
AuthenticationDisplayName |
null |
Establece el nombre para mostrar que se muestra a los usuarios en las páginas de inicio de sesión. |
ForwardClientCertificate |
true |
Si true y el encabezado de solicitud MS-ASPNETCORE-CLIENTCERT está presente, se rellena HttpContext.Connection.ClientCertificate . |
El middleware de integración de IIS y el módulo de ASP.NET Core están configurados para reenviar:
El middleware de integración de IIS configura el middleware de encabezados reenviados.
Podría ser necesario realizar una configuración adicional para las aplicaciones hospedadas detrás de servidores proxy y equilibradores de carga adicionales. Para más información, vea Configurar ASP.NET Core para trabajar con servidores proxy y equilibradores de carga.
Para configurar una aplicación para un hospedaje fuera de proceso, establezca el valor de la propiedad <AspNetCoreHostingModel>
en OutOfProcess
en el archivo del proyecto ( .csproj
):
<PropertyGroup>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
El hospedaje en proceso se establece con InProcess
, que es el valor predeterminado.
El valor de <AspNetCoreHostingModel>
no distingue mayúsculas de minúsculas, por lo que inprocess
y outofprocess
son valores válidos.
En lugar del servidor Kestrel se usa el servidor HTTP de IIS (IISHttpServer
).
Fuera del proceso, CreateDefaultBuilder
llama a UseIISIntegration para:
Process.GetCurrentProcess().ProcessName
informa a w3wp
/iisexpress
(en proceso) o dotnet
(fuera de proceso).
Muchos de los módulos nativos, como la autenticación de Windows, permanecen activos. Para obtener más información sobre los módulos de IIS activos con el módulo ASP.NET Core, vea Módulos de IIS con ASP.NET Core.
El módulo ASP.NET Core también puede:
Comentarios de ASP.NET Core
ASP.NET Core é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios:
Evento
Campionato do Mundo de Power BI DataViz
Feb 14, 4 PM - Mar 31, 4 PM
Con 4 posibilidades de entrar, poderías gañar un paquete de conferencias e facelo ao Live Grand Finale en Las Vegas
Máis información