the*_*sti 5 .net c# asp.net asp.net-core
有什么区别
<environment include="...">...
Run Code Online (Sandbox Code Playgroud)
和
<environment names="...">...
Run Code Online (Sandbox Code Playgroud)
官方文档根本无法区分它们(对我来说):
名字
...如果提供的任何环境名称与当前环境匹配,则呈现所包含的内容...将环境值与 IWebHostEnvironment.EnvironmentName 返回的当前值进行比较
如果托管环境是暂存或生产,则会呈现内容
Run Code Online (Sandbox Code Playgroud)<environment names="Staging,Production"> <strong>IWebHostEnvironment.EnvironmentName is Staging or Production</strong> </environment>
包括
include 属性表现出与名称属性类似的行为。include 属性值中列出的环境必须与应用程序的托管环境 (IWebHostEnvironment.EnvironmentName) 匹配才能呈现标记的内容。
Run Code Online (Sandbox Code Playgroud)<environment include="Staging,Production"> <strong>IWebHostEnvironment.EnvironmentName is Staging or Production</strong> </environment>
甚至他们的代码片段也使用相同的自我描述“IWebHostEnvironment.EnvironmentName is Staging or Production”。
两者有什么区别?
似乎“名称”是较旧的方式,而“包含/排除”是较新的方式。
\n\n\n的新
\n\nexclude属性EnvironmentTagHelper可让您轻松地告诉EnvironmentTagHelper 在除您指定的环境之外的所有环境中进行渲染。\xe2\x80\x99s 还有一个新属性,其行为与 ASP.NET Core 1 中的include行为相同。names
我猜微软保留旧names版本是为了向后兼容。我不知道为什么文档没有反映这一点。
name根据我的经验、官方文档以及上面的那篇文章,和之间没有任何功能差异include。这个名字include与 . 搭配得更好exclude。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |