Rebus-Rabbitmq는 지정된 네임 스페이스 / 어셈블리의 모든 개체를 매핑합니다.

미치광이

내 응용 프로그램에서 Rabbitmq로 Producer를 구성하고 있습니다. 내 구성은 다음과 같습니다.

using (var adapter = new BuiltinHandlerActivator())
      {

        Configure.With(adapter)
            .Logging(l => l.ColoredConsole(LogLevel.Warn))
            .Transport(t => t.UseRabbitMqAsOneWayClient(connection))
            .Routing(r => r.TypeBased().MapAssemblyOf<TestClass>(queueName))
            .Start();
        await adapter.Bus.Publish(new TestClass() { Name = "TestName123" });
      }

TestClass처럼 매핑하고 싶은 다른 Dto가 많이 있습니다. 라우팅 (..)에서 네임 스페이스 / 어셈블리를 지정할 수 있습니까? 그러면 해당 네임 스페이스 아래의 모든 개체 / dto가 매핑됩니까? 다른 클래스는 다음과 같습니다.

public class TestClass
  {
    public String Name { get; set; }
    public String Date { get; set; }
  }

public class NewTest 
  {
    public string Name { get; set; }
  }

다른 쪽에서는 WindsorContainer를 사용하고 있으며 다음과 같습니다.

public class Handle : IHandleMessages<TestClass>,IHandleMessages<NewTest>
  {
    Task IHandleMessages<TestClass>.Handle(TestClass message)
    {
      return null;
    }

    Task IHandleMessages<NewTest>.Handle(NewTest message)
    {
      return null;
    }
  }
무 키드 8000

때를

await bus.Publish(new TestClass(...));

Rebus로 PUBLISHING은 구독 한 모든 사람에게 이벤트 메시지 사본을 배포하므로 매핑 할 필요가 없습니다.

따라서의 게시 된 인스턴스를 받으려면 TestClass구독자가

await bus.Subscribe<TestClass>();

이렇게하면 RabbitMQ에 필요한 바인딩이 생성되어 해당 유형의 게시 된 모든 이벤트가 구독자에게 배포됩니다.

RabbitMQ의 관리 콘솔 (일반적으로에서 호스팅 됨 http://<rabbitmq-hostname>:15672) 로 이동하여 구독 전 / 후 토폴로지가 어떻게 보이는지 확인하는 것이 좋습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어셈블리 정의는 외부 패키지의 네임 스페이스를 확인할 수 없습니다.

분류에서Dev

어셈블리별로 프로젝트의 모든 네임 스페이스를 가져 오는 방법은 무엇입니까?

분류에서Dev

현재 어셈블리를 제외하고 네임 스페이스의 모든 어셈블리 필터링

분류에서Dev

Aerospike : 네임 스페이스의 모든 개체를 계산합니까?

분류에서Dev

존재하지 않는 네임 스페이스의 모든 개체를 실제로 나열하는 방법은 무엇입니까?

분류에서Dev

CLR은 이름은 같지만 런타임에 다른 어셈블리에 네임 스페이스가없는 클래스를 어떻게 구별합니까?

분류에서Dev

Clojure의 .core 네임 스페이스에서 사용 가능한 모든 네임 스페이스의 함수를 만드는 방법은 무엇입니까?

분류에서Dev

네임 스페이스 이름 'p'를 찾을 수 없습니다 (using 지시문 또는 어셈블리 참조가 누락 되었습니까?).

분류에서Dev

모든 매개 변수 앞에 네임 스페이스 식별자를 넣어야합니까?

분류에서Dev

특정 네임 스페이스를 사용하기 위해 참조해야하는 어셈블리를 어떻게 찾습니까?

분류에서Dev

XMLReader를이 - 문서의 모든 네임 스페이스를 가져옵니다

분류에서Dev

systemverilog는 매개 변수로 가져 오기 네임 스페이스를 지정합니다.

분류에서Dev

다른 네임 스페이스에 정의 된 구조체를 선언하는 방법은 무엇입니까?

분류에서Dev

fsGroup을 네임 스페이스의 모든 포드로 설정하는 방법

분류에서Dev

서로 다르게 지정된 두 개의 제네릭이 C #의 동일한 네임 스페이스에없는 이유는 무엇입니까?

분류에서Dev

네임 스페이스가있는 모델-잘못된 테이블 이름 (네임 스페이스 없음)

분류에서Dev

클래스가 정의 된 네임 스페이스를 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

OpenGL은 네임 스페이스에없는 개체에 대해 다각형을 그리지 않습니다.

분류에서Dev

네임 스페이스에 정의 된 변수 또는 함수에 언제 메모리가 할당됩니까?

분류에서Dev

xaml의 친숙한 프로젝트 참조를 사용하여 관련 어셈블리의 네임 스페이스를 매핑 하시겠습니까?

분류에서Dev

Firefox는 모든 페이지로드에 임의의 스크립트를 추가합니다.

분류에서Dev

Properties.Resources.XXXX 네임 스페이스 또는 모듈이 정의되지 않았습니다.

분류에서Dev

네임 스페이스에 변수를 선언하고, 기본에 정의하고, 다른 모든 파일에 표시되도록합니다.

분류에서Dev

Csharp 네임 스페이스에 msdn으로 지정된 모든 클래스가 포함되어 있지 않습니다.

분류에서Dev

네임 스페이스 접두사가 정의 된 모든 클래스 레이블을 가져 오는 SPARQL 쿼리

분류에서Dev

특정 네임 스페이스를 제외한 모든 네임 스페이스의 이벤트 바인딩 해제

분류에서Dev

형식 또는 네임 스페이스 이름이 네임 스페이스에 없습니다 (어셈블리 참조가 누락 되었습니까?).

분류에서Dev

STI 모델에 네임 스페이스를 지정해야합니까?

분류에서Dev

PHP는 부모 클래스의 네임 스페이스 상속에서 클래스를 중지하는 방법

Related 관련 기사

  1. 1

    어셈블리 정의는 외부 패키지의 네임 스페이스를 확인할 수 없습니다.

  2. 2

    어셈블리별로 프로젝트의 모든 네임 스페이스를 가져 오는 방법은 무엇입니까?

  3. 3

    현재 어셈블리를 제외하고 네임 스페이스의 모든 어셈블리 필터링

  4. 4

    Aerospike : 네임 스페이스의 모든 개체를 계산합니까?

  5. 5

    존재하지 않는 네임 스페이스의 모든 개체를 실제로 나열하는 방법은 무엇입니까?

  6. 6

    CLR은 이름은 같지만 런타임에 다른 어셈블리에 네임 스페이스가없는 클래스를 어떻게 구별합니까?

  7. 7

    Clojure의 .core 네임 스페이스에서 사용 가능한 모든 네임 스페이스의 함수를 만드는 방법은 무엇입니까?

  8. 8

    네임 스페이스 이름 'p'를 찾을 수 없습니다 (using 지시문 또는 어셈블리 참조가 누락 되었습니까?).

  9. 9

    모든 매개 변수 앞에 네임 스페이스 식별자를 넣어야합니까?

  10. 10

    특정 네임 스페이스를 사용하기 위해 참조해야하는 어셈블리를 어떻게 찾습니까?

  11. 11

    XMLReader를이 - 문서의 모든 네임 스페이스를 가져옵니다

  12. 12

    systemverilog는 매개 변수로 가져 오기 네임 스페이스를 지정합니다.

  13. 13

    다른 네임 스페이스에 정의 된 구조체를 선언하는 방법은 무엇입니까?

  14. 14

    fsGroup을 네임 스페이스의 모든 포드로 설정하는 방법

  15. 15

    서로 다르게 지정된 두 개의 제네릭이 C #의 동일한 네임 스페이스에없는 이유는 무엇입니까?

  16. 16

    네임 스페이스가있는 모델-잘못된 테이블 이름 (네임 스페이스 없음)

  17. 17

    클래스가 정의 된 네임 스페이스를 덮어 쓰는 방법은 무엇입니까?

  18. 18

    OpenGL은 네임 스페이스에없는 개체에 대해 다각형을 그리지 않습니다.

  19. 19

    네임 스페이스에 정의 된 변수 또는 함수에 언제 메모리가 할당됩니까?

  20. 20

    xaml의 친숙한 프로젝트 참조를 사용하여 관련 어셈블리의 네임 스페이스를 매핑 하시겠습니까?

  21. 21

    Firefox는 모든 페이지로드에 임의의 스크립트를 추가합니다.

  22. 22

    Properties.Resources.XXXX 네임 스페이스 또는 모듈이 정의되지 않았습니다.

  23. 23

    네임 스페이스에 변수를 선언하고, 기본에 정의하고, 다른 모든 파일에 표시되도록합니다.

  24. 24

    Csharp 네임 스페이스에 msdn으로 지정된 모든 클래스가 포함되어 있지 않습니다.

  25. 25

    네임 스페이스 접두사가 정의 된 모든 클래스 레이블을 가져 오는 SPARQL 쿼리

  26. 26

    특정 네임 스페이스를 제외한 모든 네임 스페이스의 이벤트 바인딩 해제

  27. 27

    형식 또는 네임 스페이스 이름이 네임 스페이스에 없습니다 (어셈블리 참조가 누락 되었습니까?).

  28. 28

    STI 모델에 네임 스페이스를 지정해야합니까?

  29. 29

    PHP는 부모 클래스의 네임 스페이스 상속에서 클래스를 중지하는 방법

뜨겁다태그

보관