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)具有与原始代码完全相同的名称,继承和参数。
我认为问题是由GetAllowedRenderings
类和new
关键字的继承引起的。尽量不要继承GetAllowedRenderings
,看看是否击中了断点:
public class GetDynamicKeyAllowedRenderings
{
public void Process(GetPlaceholderRenderingsArgs args)
{
string placeholderKey = args.PlaceholderKey;
}
}
检查ShowConfig.aspx
页面是否显示您在合并配置中的呈现:http://localhost/sitecore/admin/showconfig.aspx