0

我有一个管道处理器,它在站点上按预期工作,但是当您进入 CMS 时会造成严重破坏。

确定请求是否发往 CMS 的正确方法是什么?最好我想要一些比检查 URL 是否包含“/sitecore/”更强大的东西。

4

2 回答 2

5

站点上下文是执行此操作的好方法。您可以使用标准的 Sitecore 配置工厂方法来输入应该使用扩展的站点名称,然后忽略其他名称,包括“shell”。

cf https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/the-sitecore-asp-net-cms-configuration-factory

于 2013-03-13T23:48:25.620 回答
3

如果您在“shell”站点中,您可以优雅地退出...

if (Sitecore.Context.Site.Name.Equals("shell", StringComparison.InvariantCultureIgnoreCase))
{
    // Exit here if we're avoiding the sitecore shell altogether
    return;
}

这取决于导致代码崩溃的情况。您可以检查页面模式以避免出现问题模式...

if (Sitecore.Context.PageMode.IsPageEditorEditing)
{
    // Exit here if we're avoiding someone editing the page.
    return;
}
于 2013-03-14T14:56:12.867 回答