Sitecore发布管道,如果发布失败,如何捕获目标数据库
问题:如果向TargetDatabase发布项目失败,则无法捕获 在sitecore UI中,当我将一个项目从主数据库发布到web数据库(目标数据库)时,我想在它显示在UI中之前检查发布是否成功 查看John West关于管道订单的以下帖子: 我添加了以下发布项目处理器:Sitecore发布管道,如果发布失败,如何捕获目标数据库,sitecore,Sitecore,问题:如果向TargetDatabase发布项目失败,则无法捕获 在sitecore UI中,当我将一个项目从主数据库发布到web数据库(目标数据库)时,我想在它显示在UI中之前检查发布是否成功 查看John West关于管道订单的以下帖子: 我添加了以下发布项目处理器: <processor patch:after="*[@type='Sitecore.Publishing.Pipelines.PublishItem.PerformAction, Sitecore.Kernel']"
<processor patch:after="*[@type='Sitecore.Publishing.Pipelines.PublishItem.PerformAction, Sitecore.Kernel']" type="BOTWLibrary.Pipelines.EvaluateResult, BOTWLibrary"/>
提前感谢。如果发布失败,它会将结果操作设置为“无”,并给出未知发布操作的原因。这并不能保证发布失败,但我认为这是最接近的
public class EvaluateResult : PublishItemProcessor
{
public override void Process(PublishItemContext context)
{
// check if publish was successful.
if(context.Result.Operation == PublishOperation.None)
{
throw new Exception(context.Result.Explanation);
}
}
}
如果发布失败,它会将结果操作设置为“无”,并给出未知发布操作的原因。这并不能保证发布失败,但我认为这是最接近的
public class EvaluateResult : PublishItemProcessor
{
public override void Process(PublishItemContext context)
{
// check if publish was successful.
if(context.Result.Operation == PublishOperation.None)
{
throw new Exception(context.Result.Explanation);
}
}
}
@Dan我试图检查'context.Result.Operation==PublishOperation.None',但如果存在sql异常,则它永远不会进入if语句:作业已启动:发布到“web”|#异常:System.Reflection.TargetInvocationException:异常已由调用的目标引发。-->System.Data.SqlClient.SqlException:无法打开数据库也许您可以稍微澄清一下您的问题。是否正在引发异常,而您希望抑制错误?@Dan我试图检查“context.Result.Operation==PublishOperation.None”,但是,如果存在sql异常:作业已启动:发布到“web”|#异常:System.Reflection.TargetInvocationException:调用的目标已引发异常,则它永远不会进入if语句。-->System.Data.SqlClient.SqlException:无法打开数据库也许您可以稍微澄清一下您的问题。是否正在引发异常,而您希望抑制该错误?