view - development - Determine el nombre del entorno Core ASP.NET en las vistas
environment include development (2)
Para la verificación acabo de hacer un controlador API simple
[Route("api/[controller]")]
public class DebugController : Controller
{
private IHostingEnvironment _hostingEnv;
public DebugController(IHostingEnvironment hostingEnv)
{
_hostingEnv = hostingEnv;
}
[HttpGet("environment")]
public IActionResult Environment()
{
return Ok(_hostingEnv.EnvironmentName);
}
Luego simplemente ejecuto /api/debug/environment
para ver el valor.
El nuevo marco Core de ASP.NET nos permite ejecutar diferentes html para diferentes entornos:
<environment names="Development">
<link rel="stylesheet" href="~/lib/material-design-lite/material.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.0.0/css/bootstrap.min.css"
asp-fallback-href="~/lib/material-design-lite/material.min.css"
asp-fallback-test-class="hidden" asp-fallback-test-property="visibility" asp-fallback-test-value="hidden"/>
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/>
</environment>
Pero, ¿cómo puedo determinar y visualizar el nombre del entorno actual en el _Layout.cshtml
de una aplicación web ASP.NET Core MVC?
Por ejemplo, quiero visualizar el nombre del entorno (Production, Staging, Dev) como un comentario HTML para propósitos de depuración:
<!-- Environment name: @......... -->
Puede inyectar el servicio IHostingEnvironment
en su vista haciendo
@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnv
y hacer un @hostingEnv.EnvironmentName