.Net Core 使用 @inject 在View中使用注入(DI)引入Microsoft.AspNetCore.Hosting.IHostingEnvironment

时间:2018-10-28 22:52 作者:Mr.Pan 阅读数:857


在使用.Net Core开发软件功能过程中,页面上使用js统计访问率,但是只是希望在正式环境运行时才起作用,开发调试时不运行统计代码。

在.Net Core中有 launchSettings.json 文件,标记了多环境的配置方式

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        //"ASPNETCORE_ENVIRONMENT": "Production"
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "CommonPower": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        //"ASPNETCORE_ENVIRONMENT": "Production"
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:2588/"
    }

ASPNETCORE_ENVIRONMENT存在三个值:

  • Development:开发

  • Staging:预发布

  • Production:生产

借助不同的开发工具进行调试时,会有不同的配置方式。


在View中使用  @inject 引入Microsoft.AspNetCore.Hosting.IHostingEnvironment

@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnv
    @if (hostingEnv.EnvironmentName == "Production")
    {
        <script>
            var _hmt = _hmt || [];
            (function () {
                var hm = document.createElement("script");
                hm.src = "https://hm.baidu.com/hm.js";
                var s = document.getElementsByTagName("script")[0];
                s.parentNode.insertBefore(hm, s);
            })();
        </script>
    }

上面这段js代码,只会在生产环境上才会运行,开发调试阶段不会运行。


在Controllers中,直接注入IHostingEnvironment接口,即可以做到运行环境判断。



推荐文章

[推荐] .NET Core 项目经验总结:Startup.cs 介绍(二)

[推荐] .NET Core 项目经验总结: UseStaticFiles 静态文件的使用(四)

[推荐] ASP.NET Core开发者成长路线图(转)

[推荐] Redis 使用经验总结(一): 下载与安装

[推荐] Redis 使用经验总结(三): 主从复制 slaveof ip port

[推荐] .Net Core 使用 @inject 在View中使用注入(DI)引入Microsoft.AspNetCore.Hosting.IHostingEnvironment

[推荐] .NetCore 发布类库为Nuget包(打造自己的NuGet包)

[推荐] nginx在windows上安装配置 - nginx for Windows

[推荐] .net core中前端包的安装

[推荐] .net core 2.0独立部署 (待验证)

[推荐] .net core 中间件管道底层剖析 (转)

[推荐] .net core 杂记:日记记录 (转)

[推荐] c# 个人总结

[推荐] .Net Core 2.0 使用dotnet 命令创建.Net Core Web项目

[推荐] Jquery.Validate例子


评论列表



注册用户登录后才能发表评论,请登录注册,访问 博客首页