gpt4 book ai didi

c# - 有什么方法可以访问公共(public)交通传奇中已发布事件的标题?

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:27 25 4
gpt4 key购买 nike

当我发布这样的事件时,有什么方法可以访问 saga 中的标题吗?

 await busControl.Publish<IOrderCreated>(new
{
OrderId = dto.Id
}, context =>
{
context.Headers.Set(LogConstansts.Common.OperationId,Guid.Parse(values.Single()).ToString());
context.Headers.Set(LogConstansts.QueueMessageHeaderNames.Publisher, Request.RequestUri.AbsoluteUri);
});

然后进入传奇

Initially(
When(OrderCreated)
.Then(context =>
{
//get headers somehow?
context.Instance.OrderId = context.Data.OrderId;
})

最佳答案

是的,您可以通过从行为上下文中获取消费上下文负载来访问它:

Initially(
When(OrderCreated)
.Then(context =>
{
ConsumeContext<IOrderCreated> c;
if (context.TryGetPayload(out c))
{
c.Headers.Get<string>("myheader");
// do something
}
context.Instance.OrderId = context.Data.OrderId;
})

关于c# - 有什么方法可以访问公共(public)交通传奇中已发布事件的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com