如何创建新项目上载到媒体库时运行的Sitecore管道处理器

如何创建新项目上载到媒体库时运行的Sitecore管道处理器,sitecore,sitecore8,sitecore-mvc,Sitecore,Sitecore8,Sitecore Mvc,我想构建一个Sitecore管道处理器,该处理器将在上传媒体项目时获取其ID,并将该ID保存到第三方应用程序使用的现有自定义数据库中 我一直无法找到任何如何做或如何做的例子 我的代码使用Sitecore 8.0 Update 5和MVC结构。我不记得在将新项目上载到媒体库时会执行任何管道,但您应该能够使用项目:创建的事件 只需检查args(ItemCreatedEventArgs)中的项目是否为媒体项目,然后执行代码 public void已创建(对象发送方、事件args args) { var

我想构建一个Sitecore管道处理器,该处理器将在上传媒体项目时获取其ID,并将该ID保存到第三方应用程序使用的现有自定义数据库中

我一直无法找到任何如何做或如何做的例子


我的代码使用Sitecore 8.0 Update 5和MVC结构。

我不记得在将新项目上载到媒体库时会执行任何管道,但您应该能够使用
项目:创建的事件

只需检查args(
ItemCreatedEventArgs
)中的项目是否为媒体项目,然后执行代码

public void已创建(对象发送方、事件args args)
{
var createdArgs=Event.ExtractParameter(args,0)作为ItemCreatedEventArgs;
如果(createdArgs!=null)
{
if(createdArgs.Item!=null)
{
...
}
}
}

您可以在
uiUpload
管道中进行检查,但对于通过编程创建的项目,这不会触发,也就是说,仅当用户通过CMS界面上载项目时才会触发

创建新的处理器类:

公共类外部系统处理器
{
公共无效进程(上载args args)
{
foreach(args.UploadedItems.Where(file=>file.path.IsMediaItem)中的项文件)
{
//这里是自定义代码
SaveToExternalSystem(file.ID);
}
}
}
然后在默认的保存处理器后插入:


您可以使用
item.path.IsMediaItem