Asp.Net Core 入门—— 环境变量 TagHelper

Posted jesen1315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.Net Core 入门—— 环境变量 TagHelper相关的知识,希望对你有一定的参考价值。

  我们在之前讲Program.cs文件做了什么的时候,提到启动CreaeDefaultBuilder会获取环境变量来做一些判断之类的操作。那么我们的Taghelper也可以使用“ASPNETCORE_ENVIRONMENT"变量来设置在什么环境下加载什么库文件。可以通过environment标签来使用。

    <environment include="Development">
        <link href="~/lib/twitter-bootstrap/css/bootstrap.css" rel="stylesheet" />
    </environment>

    <environment exclude="Staging,Production">
        <link href="~/lib/twitter-bootstrap/css/bootstrap.css" rel="stylesheet" />
    </environment>

  include属性接受将单个环境环境名称以逗号分隔的形式生成列表。在<environment>tag helper上,还有exclude属性,当托管环境与exclude属性值中列出的环境名称不匹配时,将呈现标签中的内容。

  我们在实际开发过程中,可能开发环境用的是本地的库,生产环境用的是cdn,所以我们可以这么做

    <environment include="Development">
        <link href="~/lib/twitter-bootstrap/css/bootstrap.css" rel="stylesheet" />
    </environment>

    <environment exclude="Development">
        <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    </environment>

  值得注意的是,<link>元素上的”integrity“属性,全称是SubResource Integrity(SRI),用于检查”子资源完整性“,它是一种安全功能,允许浏览器检查被检索的文件是否被恶意更改。

  最后总结一下使用环境变量 tag helper,它可以使得我们生产环境在引用的CDN访问失败的情况下,回退到我们指定的另一个源或者本地库。具体做法如下

    <environment exclude="Development">
        <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"
              asp-fallback-href="~/lib/twitter-bootstrap/css/bootstrap.css"
              asp-fallback-test-class="sr-only"
              asp-fallback-test-property="position"
              asp-fallback-test-value="absolute"
              asp-suppress-fallback-integrity="true"
              >
    </environment>

  使用asp-fallback-href属性指定回退源。asp-fallback-test-class 判断失败时用到的class,asp-fallback-test-property 判断失败时用到的属性,asp-fallback-test-value 判断失败时用到的值。通过将”asp-suppress-fallback-integrity“属性设置为false,就可以关闭浏览器下载的文件完整性检查。

  

  

 

以上是关于Asp.Net Core 入门—— 环境变量 TagHelper的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 入门教程 1使用ASP.NET Core 构建第一个Web应用

[MVC&Core]ASP.NET Core MVC 视图传值入门

asp.net core环境变量详解

[MVC&Core]ASP.NET Core MVC 视图传值入门

ASP.NET Core 托管环境变量被忽略

[六] ASP.NET Core 开发人员异常页面和环境变量