Identify which database raised a publish event
Abstract
Identify which database raised a publish:end
or a publish:end:remote
event.
Knowing which database raised a publish:end
or a publish:end:remote
event can be very useful when you want to update the caches on, for example, remote Sitecore CD instances.
To identify the database that raised a publish:end
event, run this code:
Public void OnPublishEnd(object sender, EventArgs args) { var Publisher publisher = Sitecore.Events.Event.ExtractParameter<Publisher>(args, 0) as Publisher; var db = publisher.Options.TargetDatabase.Name; }
To identify the database that raised a publish:end:remote
event, run this code:
Public void OnPublishEndRemote(object sender, EventArgs args) { var publishEndArgs = args as Sitecore.Data.Events.PublishEndRemoteEventArgs; var dbs = Sitecore.Configuration.Factory.GetDatabases().Where(db => db.RemoteEvents.EventQueue.Name == publishEndArgs.EventQueueName); }