C# 升级MassTransit后更改了ConnectReceiveEndpoint的方法重载
我正在从5.3.2升级到5.5.3版,以下代码无法编译。我得到了错误 “IReceiveEndpointConfigurator”不包含“BindMessageExchange”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“BindMessageExchange”(是否缺少using指令或程序集引用?) “IReceiveEndpointConfigurator”不包含“Bind”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“Bind”(是否缺少using指令或程序集引用?) 似乎p是C# 升级MassTransit后更改了ConnectReceiveEndpoint的方法重载,c#,rabbitmq,masstransit,C#,Rabbitmq,Masstransit,我正在从5.3.2升级到5.5.3版,以下代码无法编译。我得到了错误 “IReceiveEndpointConfigurator”不包含“BindMessageExchange”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“BindMessageExchange”(是否缺少using指令或程序集引用?) “IReceiveEndpointConfigurator”不包含“Bind”的定义,并且找不到接受“IReceiveEnd
IReceiveEndpointConfigurator
,而不再是IRabbitMqReceiveEndpointConfigurator
。重载方法或扩展方法似乎有变化
我应该改用什么重载方法?该代码在测试场景中用于连接临时队列/交换<代码>\u主机的类型为IRabbitMqHost
_handle = _host.ConnectReceiveEndpoint(p =>
{
p.BindMessageExchanges = false;
p.Handler<T>(context =>
{
_receivedMessage = context.Message;
_messageReceived.Set();
return Task.CompletedTask;
});
p.Bind<T>(z =>
{
z.ExchangeType = "direct";
z.RoutingKey = _routingKey;
});
});
\u handle=\u host.ConnectReceiveEndpoint(p=>
{
p、 bindMessageExchange=false;
p、 处理程序(上下文=>
{
_receivedMessage=context.Message;
_messageReceived.Set();
返回Task.CompletedTask;
});
p、 绑定(z=>
{
z、 ExchangeType=“直接”;
z、 路由键=_路由键;
});
});
方法就在这里:
您正在指定队列名称吗?否我们当前正在使用重载,但未指定队列名称。那么,我们应该为临时队列提供什么队列名称如果我传递string.empty,mastransit会生成一个随机名称吗。我应该自己生成随机名称吗?你可以使用host.Topology创建一个临时队列名称,它在某个地方,不确定确切的位置。