0
MassTransit에 다음 코드로 메시지를 보내지 않는 문제가 있습니다 -이 메시지는 Azure 서비스 버스 코드에서 잘 작동하는 포트입니다. GitHub의 예제는 Queue - Starbucks 예제를 채워서 인프라가 작동하고 있습니다.MassTransit이 메시지를 보내지 않음 - RabbitMQ
아무도 메시지를 보내지 않는 이유를 제안 할 수 있습니까? 나는 대기열과 교환을 모두 만들었고 시도하지 않았다.
콘솔 앱이 예상 한 결과를 인쇄합니다.
미리 감사드립니다.
public class Program
{
static void Main()
{
IBusControl busControl = CreateBus();
TaskUtil.Await(() => busControl.StartAsync());
List<Task> tList = new List<Task>();
for (int i = 0; i < 10; i++)
{
var t = Send(busControl);
tList.Add(t);
}
Task.WaitAll(tList.ToArray());
Console.WriteLine("done!");
}
private static async Task Send(IBusControl busControl)
{
var endpoint = await busControl.GetSendEndpoint(new Uri("rabbitmq://localhost/test"));
Console.WriteLine("Sending");
await endpoint.Send(new SomethingHappenedMessage()
{
What = "Stuff",
When = DateTime.Now
});
Console.WriteLine("Sent");
}
static IBusControl CreateBus()
{
return Bus.Factory.CreateUsingRabbitMq(x => x.Host(new Uri("rabbitmq://localhost"), h =>
{
h.Username("guest");
h.Password("guest");
}));
}
}
public interface SomethingHappened
{
string What { get; }
DateTime When { get; }
}
public class SomethingHappenedMessage : SomethingHappened
{
public string What { get; set; }
public DateTime When { get; set; }
}
'test' 교환은'test' 대기열에 묶여 있습니까? –
열려있는 모든 파이프 라인의 실행을 끝내기 위해 버스를 끝까지 추가 할 것입니다. –
Chris, 대기열 바인딩이 작동했습니다. 고맙습니다. 저는 RabbitMQ를 처음 사용합니다. 이것은 왜 Starbucks 샘플이 상자 밖으로 나왔는지 설명하지 않습니다 - 저는 이것이 MassTransit 2.0이라고 생각합니다. 당신이 대답하면 나는 그것을 정확하게 표시 할 것입니다. 다시 한번 감사드립니다. – KnowHoper