标记助手与HTML助手“使用IHtmlHelper.Partial可能会导致应用程序死锁”

时间:2019-05-23 16:37:05

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

我有一个使用部分视图的ASP.NET Core MVC项目。编译时会收到以下警告:

  

使用IHtmlHelper.Partial可能会导致应用程序死锁。   考虑使用Tag Helper或IHtmlHelper.PartialAsync。

标记助手和HTML助手之间有什么区别?

通过阅读documentation here,我的理解是,Tag Helper方法旨在使标记更易于阅读并支持Intellisense。换句话说,我认为这两种方法只是同一件事的语法不同,但显然这里还有其他事情。

是否应该始终使用Tag Helper而不是HTML Helper?

1 个答案:

答案 0 :(得分:1)

Tag Helpers是ASP.NET Core的新功能,除了您提到的优点外,还值得一提:它们由Razor在服务器上处理(更加健壮,可靠和可维护),并且您可以非常轻松地创建自己的自定义TagHelpers。简单(实现ITagHelper接口或从TagHelper类继承并通过定义其实现来覆盖Process方法)。