SharedEventSubscriberTEventArgsSubscribeAsync(FuncTEventArgs, CancellationToken, Task, Boolean, CancellationToken) - метод |
Выполняет подписку на уведомления, поступающие для события, если подписка ещё не была выполнена.
Пространство имён:
Tessa.Platform.IPC
Сборка:
Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис public Task SubscribeAsync(
Func<TEventArgs, CancellationToken, Task> listenerActionAsync,
bool executeInEventMutex,
CancellationToken cancellationToken = default
)
Public Function SubscribeAsync (
listenerActionAsync As Func(Of TEventArgs, CancellationToken, Task),
executeInEventMutex As Boolean,
Optional cancellationToken As CancellationToken = Nothing
) As Task
public:
Task^ SubscribeAsync(
Func<TEventArgs, CancellationToken, Task^>^ listenerActionAsync,
bool executeInEventMutex,
CancellationToken cancellationToken = CancellationToken()
)
member SubscribeAsync :
listenerActionAsync : Func<'TEventArgs, CancellationToken, Task> *
executeInEventMutex : bool *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task
Параметры
- listenerActionAsync
- Тип: SystemFuncTEventArgs, CancellationToken, Task
Действие, выполняемое при срабатывании события. Аргументы события передаются в качестве параметров.
Любые необработанные исключения, возникшие внутри делегата, игнорируются с записью в лог.
Синхронизация используемых в действии ресурсов должна обеспечиваться внутри самого действия.
- executeInEventMutex
- Тип: SystemBoolean
Признак того, что подписка будет выполняться в глобальном мьютексе, созданном для события, что обеспечивает
синхронизацию доступа к списку подписчиков, к которому обращаются несколько процессов.
Рекомендуется использовать значение false только в том случае, если метод выполняется внутри делегата,
переданного в метод ExecuteInMutexAsync(FuncCancellationToken, Task, CancellationToken) текущего экземпляра.
- cancellationToken (Optional)
- Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.
Возвращаемое значение
Тип:
TaskАсинхронная задача.
См. также