PublishTransaction Saveイベントをサブスクライブすることにより、トランザクションごとにサイトマップを公開できます(多くのページ、構造グループなどを含めることができます)。
公開キューを確認して、待機中のトランザクションがあるかどうかを確認することを検討できますが、理論的には、これによりサイトマップの公開が非常に長い間延期される可能性があります。
EventSystem.SubscribeAsync<PublishTransaction, SaveEventArgs>(
(subject, args, phase) =>
{
if (!PublishStransactionStateIsSuccessfullyCompleted(subject))
return;
// Code to publish sitemap
},
EventPhases.TransactionCommitted
);
static bool PublishStransactionStateIsSuccessfullyCompleted(PublishTransaction transaction)
{
return transaction.State == PublishTransactionState.Success ||
transaction.State == PublishTransactionState.Warning;
}