我想跳过基于(HttpCookie / Query字符串/标头标记)的Sitecore管道的执行。这可能吗?
我不想在每个自定义管道中写下面显示的内容。
public override void Process(HttpRequestArgs args)
{
if (request does not contains token)
return;
//logic
}
(或)我可以提一下要执行的下一个Pipeline,我可以跳过不必要的代码执行吗?
试图找到最佳解决方案。 感谢。
答案 0 :(得分:0)
像Kam提到的那样,这是实现它的完美有效方式。在Sitecore流水线的当前实现中,每个步骤都与下一个步骤分离,并且仅通过配置中定义的顺序进行耦合。
根据管道中变量和路径的数量,您可以通过定义多个管道来实现类似的分叉概念,每个管道都需要您执行的步骤。然后,您在初始步骤中的逻辑将决定运行哪个管道。
我决定的方法取决于每次通过管道的变化以及我想要改变/跳过的步数。如果您只想跳过,例如一步或两步,你的方法将是我的选择。如果变化基于许多步骤,我会考虑为每个步骤定义单独的管道。