SharedNotificationHelperSubscribeAsync - метод
Выполняет подписку на уведомления, поступающие для события, если подписка ещё не была выполнена.
Возвращает обновлённое значение isSubscribed.
Пространство имён: Tessa.Platform.IPCСборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
public static Task<bool> SubscribeAsync(
IGlobalMutex eventMutex,
SharedStorage subscriberStorage,
SharedNameFactory nameFactory,
bool isSubscribed,
Func<CancellationToken, Task> startListenerActionAsync,
bool executeInEventMutex = true,
ISharedStorageInitializer sharedStorageInitializer = null,
CancellationToken cancellationToken = default
)
Public Shared Function SubscribeAsync (
eventMutex As IGlobalMutex,
subscriberStorage As SharedStorage,
nameFactory As SharedNameFactory,
isSubscribed As Boolean,
startListenerActionAsync As Func(Of CancellationToken, Task),
Optional executeInEventMutex As Boolean = true,
Optional sharedStorageInitializer As ISharedStorageInitializer = Nothing,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of Boolean)
public:
static Task<bool>^ SubscribeAsync(
IGlobalMutex^ eventMutex,
SharedStorage^ subscriberStorage,
SharedNameFactory^ nameFactory,
bool isSubscribed,
Func<CancellationToken, Task^>^ startListenerActionAsync,
bool executeInEventMutex = true,
ISharedStorageInitializer^ sharedStorageInitializer = nullptr,
CancellationToken cancellationToken = CancellationToken()
)
static member SubscribeAsync :
eventMutex : IGlobalMutex *
subscriberStorage : SharedStorage *
nameFactory : SharedNameFactory *
isSubscribed : bool *
startListenerActionAsync : Func<CancellationToken, Task> *
?executeInEventMutex : bool *
?sharedStorageInitializer : ISharedStorageInitializer *
?cancellationToken : CancellationToken
(* Defaults:
let _executeInEventMutex = defaultArg executeInEventMutex true
let _sharedStorageInitializer = defaultArg sharedStorageInitializer null
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task<bool>
- eventMutex IGlobalMutex
- Глобальный мьютекс, реализующий синхронизацию для события.
- subscriberStorage SharedStorage
- Разделяемое между процессами хранилище со списком подписчиков на событие.
- nameFactory SharedNameFactory
- Фабрика, предоставляющая средства для создания глобальных имён для события.
- isSubscribed Boolean
- Ссылка на флаг, который содержит информацию о том, была ли уже выполнена подписка на событие.
- startListenerActionAsync FuncCancellationToken, Task
- Действие, выполняющее запуск асинхронной операции по ожиданию уведомлений о событии.
- executeInEventMutex Boolean (Optional)
-
Признак того, что подписка будет выполняться в глобальном мьютексе, созданном для события, что обеспечивает
синхронизацию доступа к списку подписчиков, к которому обращаются несколько процессов.
- sharedStorageInitializer ISharedStorageInitializer (Optional)
- Объект, выполняющий инициализацию разделенного хранилища данных.
- cancellationToken CancellationToken (Optional)
- Объект, посредством которого можно отменить асинхронную задачу.
TaskBooleanАсинхронная задача.