Masstransit 프레임 워크의 Azure Queue Receiver에서 API 응답 가져 오기

Abhijit Shelke

저는 Masstransit의 초보 사용자이며 한 지점에서 매우 심하게 갇혀 있습니다.

아래는 내 아키텍처입니다.

1) 아래 코드를 사용하여 하늘색 대기열에서 메시지를 보내는 WebApi COntroller가 있습니다.

        if (_dipDecisionSendersEnabled)
        {
          //If MassTransit Senders are enabled, send a "ApplicationUpgradeDecision" message to the Message Bus

            Task<bool> downloading = SendDipDecisionMessagetoMessageBus(applicationNumber, 
                                                                         systemId.ToString(), 
                                                                        decisionId, externalApplicationReference);
            done = await downloading.ConfigureAwait(false);
        }
        #endregion MassTransit Sender DipDecisionUpdated

        try
        {
            if (done)
            {
                response = await UpdateDIPDecision(applicationNumber, systemId, decisionId, externalApplicationReference).ConfigureAwait(false);
            }
        }

여기서 내가하는 일은 대기열에서 메시지를 푸시 한 후 결정을 업데이트하고 응답으로 응답을 받기 위해 타사에 전화를 겁니다. 위의 코드는 EventController 클래스에 있습니다.

2) 이제 아래와 같이 DipConsumer.cs로 다른 파일에 아래와 같은 수신기가 있습니다.

        public async Task Consume(ConsumeContext<DipDecision> context)
      {
        await _service.ServiceTheThing(context.Message.ApplicationNumber).ConfigureAwait(true);

            await context.RespondAsync<IMassTransit>(new
            {
                applicationNumber = $"DipDecision - Consumer Received DIP Decision for application number : {context.Message.ApplicationNumber}",
                systemId = $"DipDecision - Consumer Received DIP Decision against system : {context.Message.SystemId}",
                decisionId = $"DipDecision - Consumer Received DIP Decision against system : {context.Message.DecisionId}",
                externalApplicationReference = $"DipDecision - Consumer Received DIP Decision from external application reference number : {context.Message.ExternalApplicationReference}"
            }).ConfigureAwait(true);
      }

EventController에있는 내 응답 변수에서 응답으로 "Ok"가 표시 될 때만 내 소비자가 실행되기를 원합니다. 그러나 내 webapi 응답을 수신자 컨텍스트에 삽입 할 수 없습니다.

여기에 몇 가지 지침을 안내하거나 제공하십시오.

크리스 패터슨

API 컨트롤러에서 응답을 기다리려면 문서에 설명 된대로 요청 클라이언트를 사용할 수 있습니다 .

본질적으로 컨트롤러는 응답을 기다린 다음 처리를 계속합니다.

public class RequestController :
    Controller
{
    IRequestClient<CheckOrderStatus> _client;

    public RequestController(IRequestClient<CheckOrderStatus> client)
    {
        _client = client;
    }

    public async Task<ActionResult> Get(string id)
    {
        var response = await _client.GetResponse<OrderStatusResult>(new {OrderId = id});

        // do the rest of the thing, based upon response.Ok

        return View(response.Message);
    }
}

위에 링크 된 문서는 컨테이너를 구성하는 방법도 보여줍니다.

대신 별도의 컨트롤러 메서드 호출을 원하는 경우 HTTP 클라이언트를 사용하여 컨트롤러 메서드를 호출하는 이벤트에 응답하는 소비자 (위에서 설명한 소비자가 Respond를 호출하는 대신 게시)를 만들 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

응답 헤더 로봇 프레임 워크 가져 오기

분류에서Dev

Django Rest 프레임 워크 렌더러 클래스에서 응답 상태 가져 오기

분류에서Dev

Swift의 프레임 워크 내에서 Facebook SDK 가져 오기

분류에서Dev

Parse Rest API의 응답에서 세션 토큰 가져 오기

분류에서Dev

가라테 프레임 워크를 사용하여 첫 번째 히트에서 전체 응답을 얻지 못하기 때문에 for 루프를 넣어 API 가져 오기를 실행하고 싶습니다.

분류에서Dev

zend 프레임 워크의 YouTube URL에서 YouTube 비디오 ID 가져 오기

분류에서Dev

두 가지 딥 러닝 프레임 워크의 기능 응답 비교

분류에서Dev

Spring 프레임 워크에서 조건부 가져 오기

분류에서Dev

Swift에서 Objective-c 프레임 워크 가져 오기?

분류에서Dev

Console.log 및 API 응답에서 외래 키 정의 해제 가져 오기

분류에서Dev

Karate 프레임 워크의 응답에서 json 객체 추출

분류에서Dev

Materialisecss 프레임 워크에서 행의 응답 성

분류에서Dev

Wildfly에서 스프링 프레임 워크 로깅 가져 오기

분류에서Dev

C #에서 HTTP 응답을 처리하기위한 프레임 워크

분류에서Dev

엔터티 프레임 워크에서 순환 참조 오류 가져 오기

분류에서Dev

API 응답에서 특정 값 가져 오기

분류에서Dev

amazon mws api에서 원시 xml 응답 가져 오기

분류에서Dev

가져 오기에서 실패한 API 응답 처리

분류에서Dev

C # Regex : 웹 성능 및 부하 테스트 프로젝트의 HTTP 응답에서 임의 URL 가져 오기

분류에서Dev

aspnetzero 프레임 워크의 linq 쿼리에서 값을 가져 오지 않음

분류에서Dev

중첩 된 for 루프를 사용하여 Wpf 프레임 워크의 DataGrid 셀에서 값 가져 오기

분류에서Dev

Django REST 프레임 워크 : 직렬 변환기에서 관련 모델의 필드 가져 오기

분류에서Dev

Deezer 또는 Spotify API에서 PCM 프레임 가져 오기

분류에서Dev

Symfony-Api-Platform 프레임 워크 : 사용자의 모든 항목 가져 오기

분류에서Dev

Xcode 12.0에서 Carthage를 통해 iOS 프레임 워크 가져 오기

분류에서Dev

url -zend 프레임 워크 2에서 컨트롤러 이름 가져 오기

분류에서Dev

zend 프레임 워크 2에서 자식 경로 가져 오기

분류에서Dev

zend 프레임 워크 2에서 일부 컨트롤러 가져 오기

분류에서Dev

나머지 프레임 워크에서 역관계 개체 가져 오기

Related 관련 기사

  1. 1

    응답 헤더 로봇 프레임 워크 가져 오기

  2. 2

    Django Rest 프레임 워크 렌더러 클래스에서 응답 상태 가져 오기

  3. 3

    Swift의 프레임 워크 내에서 Facebook SDK 가져 오기

  4. 4

    Parse Rest API의 응답에서 세션 토큰 가져 오기

  5. 5

    가라테 프레임 워크를 사용하여 첫 번째 히트에서 전체 응답을 얻지 못하기 때문에 for 루프를 넣어 API 가져 오기를 실행하고 싶습니다.

  6. 6

    zend 프레임 워크의 YouTube URL에서 YouTube 비디오 ID 가져 오기

  7. 7

    두 가지 딥 러닝 프레임 워크의 기능 응답 비교

  8. 8

    Spring 프레임 워크에서 조건부 가져 오기

  9. 9

    Swift에서 Objective-c 프레임 워크 가져 오기?

  10. 10

    Console.log 및 API 응답에서 외래 키 정의 해제 가져 오기

  11. 11

    Karate 프레임 워크의 응답에서 json 객체 추출

  12. 12

    Materialisecss 프레임 워크에서 행의 응답 성

  13. 13

    Wildfly에서 스프링 프레임 워크 로깅 가져 오기

  14. 14

    C #에서 HTTP 응답을 처리하기위한 프레임 워크

  15. 15

    엔터티 프레임 워크에서 순환 참조 오류 가져 오기

  16. 16

    API 응답에서 특정 값 가져 오기

  17. 17

    amazon mws api에서 원시 xml 응답 가져 오기

  18. 18

    가져 오기에서 실패한 API 응답 처리

  19. 19

    C # Regex : 웹 성능 및 부하 테스트 프로젝트의 HTTP 응답에서 임의 URL 가져 오기

  20. 20

    aspnetzero 프레임 워크의 linq 쿼리에서 값을 가져 오지 않음

  21. 21

    중첩 된 for 루프를 사용하여 Wpf 프레임 워크의 DataGrid 셀에서 값 가져 오기

  22. 22

    Django REST 프레임 워크 : 직렬 변환기에서 관련 모델의 필드 가져 오기

  23. 23

    Deezer 또는 Spotify API에서 PCM 프레임 가져 오기

  24. 24

    Symfony-Api-Platform 프레임 워크 : 사용자의 모든 항목 가져 오기

  25. 25

    Xcode 12.0에서 Carthage를 통해 iOS 프레임 워크 가져 오기

  26. 26

    url -zend 프레임 워크 2에서 컨트롤러 이름 가져 오기

  27. 27

    zend 프레임 워크 2에서 자식 경로 가져 오기

  28. 28

    zend 프레임 워크 2에서 일부 컨트롤러 가져 오기

  29. 29

    나머지 프레임 워크에서 역관계 개체 가져 오기

뜨겁다태그

보관