SharedNotificationHelperSubscribeAsync - метод |
Выполняет подписку на уведомления, поступающие для события, если подписка ещё не была выполнена.
Возвращает обновлённое значение isSubscribed.
Пространство имён:
Tessa.Platform.IPC
Сборка:
Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис 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
- Тип: Tessa.Platform.IPCIGlobalMutex
Глобальный мьютекс, реализующий синхронизацию для события. - subscriberStorage
- Тип: Tessa.Platform.IPCSharedStorage
Разделяемое между процессами хранилище со списком подписчиков на событие. - nameFactory
- Тип: Tessa.Platform.IPCSharedNameFactory
Фабрика, предоставляющая средства для создания глобальных имён для события. - isSubscribed
- Тип: SystemBoolean
Ссылка на флаг, который содержит информацию о том, была ли уже выполнена подписка на событие. - startListenerActionAsync
- Тип: SystemFuncCancellationToken, Task
Действие, выполняющее запуск асинхронной операции по ожиданию уведомлений о событии. - executeInEventMutex (Optional)
- Тип: SystemBoolean
Признак того, что подписка будет выполняться в глобальном мьютексе, созданном для события, что обеспечивает
синхронизацию доступа к списку подписчиков, к которому обращаются несколько процессов.
- sharedStorageInitializer (Optional)
- Тип: Tessa.Platform.IPCISharedStorageInitializer
Объект, выполняющий инициализацию разделенного хранилища данных. - cancellationToken (Optional)
- Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.
Возвращаемое значение
Тип:
TaskBooleanАсинхронная задача.
См. также