2015-09-08 1 views
1

Проблема: Не удалось поймать, если сбой в публикации объекта TargetDatabase.Sitecore публикует конвейер, как поймать, если публикация не настроена для таргетинга. База данных

В пользовательском интерфейсе sitecore, когда я публикую элемент из основной базы данных в веб-базу данных (целевая база данных), я хотел проверить, была ли публикация успешной, пока она не появится в пользовательском интерфейсе.

глядя на следующий пост от Джона Запада о порядке трубопровода: http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2011/08/intercept-item-publishing-with-the-sitecore-aspnet-cms.aspx

я добавил следующий публиковать процессор пункт:

<processor patch:after="*[@type='Sitecore.Publishing.Pipelines.PublishItem.PerformAction, Sitecore.Kernel']" type="BOTWLibrary.Pipelines.EvaluateResult, BOTWLibrary"/> 

В EvaluateResult.cs

public class EvaluateResult : PublishItemProcessor 
{ 
    public override void Process(PublishItemContext context) 
    { 
     // check if publish was successful. 
    } 
} 

Заранее спасибо.

ответ

0

Если публикация завершилась неудачей, она не установит операцию результатов на none, а также даст объяснение неизвестному действию публикации. Это не является гарантией того, что публикация не удалась, но я думаю, что она будет ближе всего к вам.

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); 
     } 
    } 
} 
+0

@Dan Я попытался проверить «context.Result.Operation == PublishOperation.None», но он никогда не попал в, если заявление, если есть исключение SQL: _Job начал: Опубликовать в «Сети» | # Исключение: System.Reflection.TargetInvocationException: Исключение было выбрано целью вызова. ---> System.Data.SqlClient.SqlException: не удается открыть базу данных – Kdev

+0

Возможно, вы можете немного разъяснить свою проблему. Вызывается ли исключение, и вы хотите подавить ошибку? –

Смежные вопросы