Was ist der Unterschied zwischen einem Handler und einem Consumer in MassTransit? Ich habe Beispiele gesehen, die das eine oder das andere verwenden, aber konzeptionell ist mir unklar, was der Unterschied zwischen den beiden ist und warum Sie das eine oder das andere wählen möchten.Unterschied zwischen Handler und Consumer in MassTransit
6
A
Antwort
6
Ein Consumer ist ein registrierter Typ mit einem spezialisierten Handler, der den Lebenszyklus Ihres Consumer-Objekts behandelt.
Ein Handler ist eigentlich nur ein generischer Event-Handler.
Sie würden einen Handler verwenden, wenn Sie nur einen kleinen Action<>
Block benötigen, um jede Aktion Ihrer Nachricht zu lösen. Sie würden einen Consumer verwenden, wenn Sie einen Typ mit einem Lebenszyklus registrieren möchten, um alle Aktionen Ihrer Nachricht zu lösen. Im Allgemeinen möchten Sie einen Consumer, weil Ihr Container Abhängigkeiten für den Typ auflösen soll, anstatt sie nur im Bereich Ihres Handlers zu haben. Aber Handler funktionieren hervorragend für kleine Dinge oder Anfrage-Antwort-Szenarien.
Verwandte Themen
- 1. Unterschied zwischen ASP.net Handler und Generic Handler
- 2. Unterschied zwischen `.click (handler())` und `.click (handler)`
- 3. MassTransit: Erstellen einer Rückrufwarteschlange in Consumer
- 4. Unterschied zwischen Thread und Handler
- 5. Was ist der Unterschied zwischen Consumes.For, Consumes.Selected, Consumes.All und ConsumesContext in MassTransit?
- 6. Was ist der Unterschied zwischen Event-Handler und Event-Listener?
- 7. Unterschied zwischen `% in%` und `==`
- 8. Was ist der Unterschied zwischen einem MessageListener und einem Consumer in JMS?
- 9. MassTransit Mehrere Consumers
- 10. Unterschied zwischen $ @ und $! in Perl
- 11. Unterschied zwischen '.' und "." in Java
- 12. Unterschied zwischen $ {} und $() in Bash
- 13. Unterschied zwischen und „-“ in r
- 14. Unterschied zwischen .. und ... in Ruby
- 15. Unterschied zwischen "" und "" in Python
- 16. Unterschied zwischen // und /// in C#
- 17. Unterschied zwischen app.js und index.js in Node.js
- 18. Newbie - Ist eine Consumer Queue notwendig, um für die Veröffentlichung in Masstransit zu arbeiten
- 19. Unterschied zwischen. und #
- 20. MySQL: Unterschied zwischen ', `,' und '
- 21. C++ Unterschied zwischen '//' und '///'
- 22. Unterschied zwischen String.Empty und ""
- 23. MassTransit NullReferenceException in ThreadPoolConsumerPool
- 24. Unterschied zwischen = und: =
- 25. Was ist der Unterschied zwischen einem "Kafka Spout" und einem "Kafka Consumer"?
- 26. Was ist der Unterschied zwischen Twitter-Consumer-Key und Access-Token
- 27. Unterschied zwischen Vorzeichen & und *?
- 28. VBA: Unterschied zwischen & und +
- 29. Unterschied zwischen "**/* /" und "** /"?
- 30. Unterschied zwischen $ # und $ {# @}
Angesichts Ihrer Beschreibung, dann nehme ich es wird eine Consumer-Instanz pro Nachricht sein? Wenn ich einen Fehlerbehandler für dieselbe Klasse anlege, würde die letzte Instanz bei der Behandlung des Fehlers verwendet werden, oder wäre es eine völlig neue Instanz? –
Hängt von der Registrierung ab. Wenn Sie sich bei einem IoC-Container-Helper registrieren, kann der Container den Lebenszyklus beibehalten. Beachten Sie außerdem, dass der Status für mehrere Nachrichten problematisch ist, da es im Allgemeinen mehrere Instanzen gibt, wenn es sich um einen Singleton handelt - mindestens einen pro Thread. – Travis