Asp.Net核心中环境变量的含义

时间:2019-09-26 15:18:10

标签: asp.net-mvc asp.net-core

我需要帮助,我需要有人尽可能以最基本的方式进行解释,以便我(虚拟)可以理解什么是环境变量,并且它们会影响我的代码。我注意到,当我使用环境包含或排除标签删除某些类时,会影响我的Web应用性能。

<environment exclude="Development">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter- 
      bootstrap/4.1.3/css/bootstrap.min.css"
      asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
      asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test- 
      value="absolute"
      crossorigin="anonymous"
      integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE="/>
</environment>


<environment include="Development">
  <script src="~/lib/jquery/dist/jquery.js"></script>
  <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
  </environment>
<environment exclude="Development">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
        asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
        asp-fallback-test="window.jQuery"
        crossorigin="anonymous"
        integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter- 
        bootstrap/4.1.3/js/bootstrap.bundle.min.js"
        asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
        asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
        crossorigin="anonymous"
        integrity="sha256-E/V4cWE4qvAeO5MOhjtGtqDzPndRO1LBk8lJ/PR7CA4=">
 </script>
</environment>
<script src="~/js/site.js" asp-append-version="true"></script>
@RenderSection("Scripts", required: false) 

我根本不明白这意味着什么,但是我知道是否删除它,Web应用程序布局页面上的下拉切换按钮不起作用,但是如果我将上面的代码块放回去,我的切换按钮可以工作,但是相同布局上的另一个仪表板切换按钮不起作用...我试图在线检查,但我似乎不明白任何人在说些什么。

请注意,我使用了自定义布局,并添加了样式和脚本库

1 个答案:

答案 0 :(得分:0)

Environment Tag Helper(<environment></environment>)用于基于应用程序托管环境显示内容。

例如:每当您从Visual Studio IISExress在本地计算机上运行应用程序时,默认情况下,应用程序的环境变量为Development。因此,在这种情况下,将不会显示以下内容,因为您是在告诉<environment></environment>内的内容应从带有exclude="Development"属性值的呈现中排除:

<environment exclude="Development"> // This will be shown in all environment except Development
      <span>Don't render this</span>
</environment>

但是会显示跟随<environment></environment>内部的内容,因为您被告知要使用<environment></environment>属性值来渲染include="Development"内部的内容。

<environment include="Development"> // This will be shown only in Development environment
      <span>Render this</span>
</environment>

希望您现在明白了!

有关更多详细信息:Environment Tag Helper in ASP.NET Core