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以擁有可以具有多個呈現項目的單個頁腳組件。