public abstract class GlobalCache<TPayload> : PayloadSharedEventReceiverBase<TPayload>
where TPayload : class, new(), IStorageSerializable
Public MustInherit Class GlobalCache(Of TPayload As {Class, New, IStorageSerializable})
Inherits PayloadSharedEventReceiverBase(Of TPayload)generic<typename TPayload>
where TPayload : ref class, gcnew(), IStorageSerializable
public ref class GlobalCache abstract : public PayloadSharedEventReceiverBase<TPayload>[<AbstractClassAttribute>]
type GlobalCache<'TPayload when 'TPayload : not struct, new() and IStorageSerializable> =
class
inherit PayloadSharedEventReceiverBase<'TPayload>
endДоступ на чтение из кэша и наполнение кэша осуществляет только синхронизацию между потоками для доступа к экземпляру, поэтому чтение может осуществляться сравнительно часто небольшими порциями.
Доступ к локальному кэшу экземпляра для его наполнения, сброса и чтения данных потокобезопасен и не требует дополнительной синхронизации.
Доступ и наполнение локального кэша возможно даже после освобождения объекта вызовом DisposeAsync, но после такого вызова все глобальные объекты синхронизации освобождаются и более не используются.
| GlobalCacheTPayload | Потокобезопасный кэш, обеспечивающий синхронный сброс кэша всех экземпляров с заданным именем независимо от того, располагаются ли такие экземпляры в том же приложении или в другом процессе. |
| Dependencies | Зависимости объекта GlobalCacheTPayload |
| EventID |
Идентификатор глобального события. Должен быть уникален для каждого события.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| InterprocessCommunicationIsEnabled | Возвращает признак того, что кэш использует коммуникацию между процессами. Значение false определяет, что кэш перестаёт быть глобальным и кэширует данные только в текущем объекте. |
| IsDisposed | Признак того, что ресурсы объекта были освобождены. (Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| IsEventSubscribed |
Признак того, что объект подписан на событие.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| AcquireCheckDisposedLockAsync |
Выполняет взятие блокировки, внутри которой гарантированно не будет вызвано освобождение текущего объекта DisposeAsync.
После вызова метода проверьте свойство IsDisposed. При освобождении возвращённого объекта блокировка снимается.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| AddInvalidatedHandlerAsync | Добавляет обработчик события, которое содержит вызовы на сброс внешнего кэша, зависимого от текущего кэша. |
| DisposeAsync | Освобождает ресурсы, занимаемые объектом. (Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| DisposeCoreAsync | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously. (Переопределяет PayloadSharedEventReceiverBaseTPayloadDisposeCoreAsync) |
| EnsureEventSubscribedAsync |
Выполняет подписку на глобальное событие, если объект ещё не был подписан.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| EnsureInvalidateCacheSubscribedAsync | Выполняет подписку на глобальное событие сброса кэша, если объект ещё не был подписан. |
| Equals | Determines whether the specified object is equal to the current object. (Унаследован от Object) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Унаследован от Object) |
| GetAsyncT | Инициирует заполнение кэша при необходимости и возвращает запрошенное из кэша значение. |
| GetGlobalCacheInvalidationContext | Возвращает текущий контекст глобальной инвалидации кэшей, используемый для оптимизации инвалидаций нескольких кэшей сразу или многократной инвалидации одного кэша (как при импорте набора карточек). |
| GetHashCode | Serves as the default hash function. (Унаследован от Object) |
| GetType | Gets the Type of the current instance. (Унаследован от Object) |
| InvalidateGlobalCacheAsync | Инициирует глобальный сброс кэша. Он затрагивает как текущий, так и другие экземпляры кэша с тем же именем, которые могут располагаться в других процессах. |
| InvalidateLocalCacheAsync | Инициирует локальный сброс кэша (в текущем экземпляре). |
| InvalidateLocalCacheCoreAsync | Метод, реализующий логику сброс кэша в текущем экземпляре, определяемую в конкретных классах кэшей. Для вызова инвалидации используйте метод InvalidateLocalCacheAsync(TPayload). |
| MemberwiseClone | Creates a shallow copy of the current Object. (Унаследован от Object) |
| NotifyEventAsync |
Отправляет информацию по событию всем его обработчикам (включая текущий объект, если он был подписан вызовом EnsureEventSubscribedAsync(CancellationToken)).
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| OnEventReceivedAsync |
Метод, выполняющий обработку полученного события (которое могло быть отправлено как в текущем, так и в другом процессе).
(Переопределяет PayloadSharedEventReceiverBaseTPayloadOnEventReceivedAsync(TPayload, SharedEventSource)) |
| RemoveInvalidatedHandler | Удаляет обработчик события, которое содержит вызовы на сброс внешнего кэша, зависимого от текущего кэша. |
| SubscribeEventAsync |
Подписывается на глобальное событие. Метод выполняется в блокировке и только, если подписка ещё не выполнялась.
Может быть переопределён в наследниках.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |
| ToString | Returns a string that represents the current object. (Унаследован от Object) |
| TryGetAsyncT | Возвращает запрошенное из кэша значение или null, если значение отсутствует. |
| UnsubscribeEventAsync |
Отписывается от глобального события. Метод выполняется в блокировке и не должен выполнять действий, если подписки не было.
Может быть переопределён в наследниках.
(Унаследован от PayloadSharedEventReceiverBaseTPayload) |