Sitecore 6.6管道无法运行

时间:2013-05-28 10:47:02

标签: c# asp.net .net sitecore sitecore6

我正在遵循此动态占位符指南,无法让我的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)与原始代码具有完全相同的名称,继承和参数。

1 个答案:

答案 0 :(得分:1)

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

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

    }
}

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