31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
namespace MediaBrowser.Common.Configuration
|
|
{
|
|
/// <summary>
|
|
/// Extensions for <see cref="IConfigurationInvalidationBus"/>.
|
|
/// </summary>
|
|
public static class ConfigurationInvalidationBusExtensions
|
|
{
|
|
/// <summary>
|
|
/// Announces a write this instance originated, and stays silent for a write induced by an
|
|
/// invalidation another instance published.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This is the backstop for the write path: a consumer reacting to an applied invalidation by
|
|
/// writing - including a plugin that knows nothing about the bus - cannot turn that write into a
|
|
/// notice of its own.
|
|
/// </remarks>
|
|
/// <param name="bus">The bus.</param>
|
|
/// <param name="scope">The cache that was written.</param>
|
|
/// <param name="target">The configuration key or library path that was written, if any.</param>
|
|
public static void PublishLocalWrite(this IConfigurationInvalidationBus bus, ConfigurationInvalidationScope scope, string? target)
|
|
{
|
|
if (ConfigurationInvalidationContext.IsApplyingRemoteInvalidation)
|
|
{
|
|
return;
|
|
}
|
|
|
|
bus.Publish(scope, target);
|
|
}
|
|
}
|
|
}
|