Sitecore 6.6管道运行失败

本文关键字:失败 运行 管道 Sitecore | 更新日期: 2023-09-27 18:15:36

我遵循这个动态占位符指南,不能让我的getPlaceholderRenderings管道运行。

我不明白为什么这个管道不工作:

<getPlaceholderRenderings>
  <processor type="Site.CMS.Specialization.Pipelines.GetDynamicKeyAllowedRenderings, Site.CMS"/>
  <processor type="Sitecore.Pipelines.GetPlaceholderRenderings.GetAllowedRenderings, Sitecore.Kernel"/>
  <processor type="Sitecore.Pipelines.GetPlaceholderRenderings.GetPredefinedRenderings, Sitecore.Kernel"/>
  <processor type="Sitecore.Pipelines.GetPlaceholderRenderings.RemoveNonEditableRenderings, Sitecore.Kernel"/>
  <processor type="Sitecore.Pipelines.GetPlaceholderRenderings.GetPlaceholderRenderingsDialogUrl, Sitecore.Kernel"/>
</getPlaceholderRenderings>

我的处理器是这样的:

public class GetDynamicKeyAllowedRenderings : GetAllowedRenderings
{
    public new void Process(GetPlaceholderRenderingsArgs args)
    {
        string placeholderKey = args.PlaceholderKey;
    }
}

在这个阶段,我只是测试它是否运行。它没有。

我完全按照指南说的做了,但是这个管道从来没有运行过。我重新构建了无数次,回收了我的应用程序池,并重新启动了IIS。这些都没有帮助,因为当我调试管道中有断点的应用程序时,它只是没有命中。

我通过添加以下代码测试我的管道是否被击中:
public class ExceptionThrower : HttpRequestProcessor
{
    public override void Process(HttpRequestArgs args)
    {
        throw new Exception("ExceptionThrower");
    }
}

和这一行到配置:

<httpRequestBegin>
  <processor type="Site.CMS.Specialization.Pipelines.ExceptionThrower, SCW.CMS" />
  <processor type="Sitecore.Pipelines.PreprocessRequest.CheckIgnoreFlag, Sitecore.Kernel"/>
  <processor type="Sitecore.Pipelines.HttpRequest.EnsureServerUrl, Sitecore.Kernel"/>
  .
  .
  .
</httpRequestBegin>

这个被击中,我看到了异常。

如果我把它加到getPlaceholderRenderings,它不会被击中。

我一直遵循的示例(http://www.techphoria414.com/Blog/2011/August/Dynamic_Placeholder_Keys_Prototype)具有与原始代码完全相同的名称,继承和参数。

Sitecore 6.6管道运行失败

我认为问题是由GetAllowedRenderings类和new关键字的继承引起的。尽量不要继承GetAllowedRenderings,看看是否击中了断点:

public class GetDynamicKeyAllowedRenderings
{
    public void Process(GetPlaceholderRenderingsArgs args)
    {
        string placeholderKey = args.PlaceholderKey;
    }
}

检查ShowConfig.aspx页面是否显示您在合并配置中的呈现:http://localhost/sitecore/admin/showconfig.aspx