/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit.Abstractions/Initializers/Variables/IdVariable.cs
52 строки
1 KB
Chris Patterson
Integration of all external packages into MassTransit, split out into Abstractions, Middleware, and the core MassTransit assembly.
22 янв 2022, 18:24
22 янв 2022, 18:24
b5b4f50
Код
Авторство
О чём код?
namespace MassTransit.Initializers.Variables { using System; using System.Threading.Tasks; public class IdVariable : IInitializerVariable<Guid> { readonly Guid _id; public IdVariable() { _id = NewId.NextGuid(); } public IdVariable(Guid id) { _id = id; } Task<Guid> IInitializerVariable<Guid>.GetValue<TMessage>(InitializeContext<TMessage> context) { var timestampContext = context.GetOrAddPayload<IdContext>(() => new Context(_id)); return Task.FromResult(timestampContext.Id); } public static implicit operator Guid(IdVariable variable) { return variable._id; } interface IdContext { Guid Id { get; } } class Context : IdContext { public Context(Guid id) { Id = id; } public Guid Id { get; } } } }