新的ASP.NET核心框架使我们能够针对不同的环境执行不同的html:
<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>但是,如何在_Layout.cshtml的 Core应用程序的中确定和可视化当前环境的名称呢?
例如,为了调试目的,我希望将环境名称(生产、暂存、开发)可视化为HTML注释:
<!-- Environment name: @......... -->发布于 2015-11-15 12:47:39
您可以将服务IHostingEnvironment注入到视图中。
@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnv
做一个@hostingEnv.EnvironmentName
发布于 2018-05-07 21:34:29
我刚刚做了一个简单的API控制器:
[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);
}然后运行/api/debug/environment来查看值。
发布于 2019-04-30 00:31:03
以下是.net核心2.2中的工作:
@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment env
@using Microsoft.AspNetCore.Hosting
if (env.IsProduction())
{
//You can also use:
//env.IsStaging();
//env.IsDevelopment();
//env.IsEnvironment("EnvironmentName");
}https://stackoverflow.com/questions/33719609
复制相似问题