RabbitMQ와 함께 MassTransit을 사용하는 요청 응답 패턴에서 요청 클라이언트를 만들려고합니다. 인터넷에서 몇 가지 조사를하고 난 두 가지 가능성보고 때 :CreateRequestClient와 CreatePublishRequestClient의 차이점
CreateRequestClient 및 CreatePublishRequestClient
는누군가는 그 두와 사용시기의 차이는 무엇을 알고 있나요?
는 방법은 아래를 참조 :
public static class RequestClientExtensions
{
public static IRequestClient<TRequest, TResponse> CreateRequestClient<TRequest, TResponse>(this IBus bus, Uri address, TimeSpan timeout, TimeSpan? ttl = null, Action<SendContext<TRequest>> callback = null) where TRequest : class where TResponse : class
{
return (IRequestClient<TRequest, TResponse>) new MessageRequestClient<TRequest, TResponse>(bus, address, timeout, ttl, callback);
}
public static IRequestClient<TRequest, TResponse> CreatePublishRequestClient<TRequest, TResponse>(this IBus bus, TimeSpan timeout, TimeSpan? ttl = null, Action<SendContext<TRequest>> callback = null) where TRequest : class where TResponse : class
{
return (IRequestClient<TRequest, TResponse>) new PublishRequestClient<TRequest, TResponse>(bus, timeout, ttl, callback);
}
}
이 놀라운 답장을 보내 주셔서 감사합니다. 내가 주소로 전달해야 할 것도 알고 있습니까? 일부 예에서는 rabbitmq : // localhost/test/request_service가 표시됩니다. 그러나 이것을 시도 할 때 URL은 인식되지 않습니다. 또한 예제에서는 절대로 설명하지 않습니다. – Ozkan
더 많은 설명 : 나는 어디에 '/ 테스트/request_service'URL의 부분을 구성 할 수 있는지 알고 싶다. 이것에 대한 많은 문서가 인터넷에 없습니다. – Ozkan
두 개의 서비스가 있고 하나씩 요청하는 경우 요청 클라이언트의 주소는 요청을 처리해야하는 서비스의 주소입니다. '새 Uri ("rabbitmq : // servicebushost/second_service_queue")와 같습니다. –