sitecore mvc是否支持asp.net web表单中的自定义管道?sitecore mvc中的自定义流水线处理器和IOC
我有一个类实现RenderLayoutProcessor并重写Process方法。通过更新web config部分,该类名称作为自定义处理器添加到管道中,如下所示。
<renderLayout>
<processor type="Sitecore.Pipelines.PreprocessRequest.CheckIgnoreFlag, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.PageHandlers, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.SecurityCheck, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.InsertRenderings, Sitecore.Kernel"/>
<processor type="MysitecoreApp.Project.Pipelines.MyProcessor, MysitecoreApp.Project" />
<processor type="Sitecore.Pipelines.RenderLayout.PageExtenders, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.ExpandMasterPages, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.BuildTree, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.InsertSystemControls, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.InsertUnusedControls, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.RenderLayout.BrowserCaching, Sitecore.Kernel"/>
</renderLayout>
的方法方法触发用于Sitecore的请求(如http://website/sitecore/login),但不是对网站的网页上请求(如http://website/home)。
下面是类定义。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sitecore.Data.Items;
using Sitecore.Layouts;
using Sitecore.Pipelines.RenderLayout;
using Sitecore.Mvc.Presentation;
namespace MysitecoreApp.Project.Pipelines
{
public class MyProcessor : RenderLayoutProcessor
{
public override void Process(RenderLayoutArgs args)
{
var page = Sitecore.Context.Item;
if (page != null)
{
}
}
}
}
我这样做是为了实现IOC使用管道(RenderLayout处理器这里)如图this example
因此,将在Sitecore的MVC这个管道概念的工作?如果它不怎么在Sitecore MVC中实现IOC。我正在实施IOC以拥有可以具有多个呈现项目的单个页脚组件。