Sitecore 6.6 Трубопровод не работает
Я следую этому руководству для динамических заполнителей и не могу запустить конвейер 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 ответ
Я думаю, что проблема вызвана наследованием от GetAllowedRenderings
класс и new
ключевое слово. Старайтесь не наследовать от GetAllowedRenderings
и увидеть, что точка останова достигнута:
public class GetDynamicKeyAllowedRenderings
{
public void Process(GetPlaceholderRenderingsArgs args)
{
string placeholderKey = args.PlaceholderKey;
}
}
Проверьте также, если ShowConfig.aspx
страница показывает ваш рендеринг в объединенной конфигурации: http://localhost/sitecore/admin/showconfig.aspx