Ich stoße auf ein Basistypisierungsproblem mit Nachrichten, die ich über MassTransit zu veröffentlichen versuche. Berücksichtigen Sie Folgendes:
%Vor%Wenn ich jedoch versuche, eine Sammlung abstrakter Ereignisse mit etwa folgendem Inhalt zu veröffentlichen:
%Vor%Ich erhalte KEINE Ereignisse aus dieser Sammlung, unabhängig von ihren konkreten Typen. Wenn ich das Ereignis vor der Veröffentlichung im Bus in den richtigen konkreten Typ umwandle, erhalte ich die Nachricht ordnungsgemäß.
Irgendwelche Ideen, wie ich das korrigieren kann, damit meine abstrakte Sammlung von Ereignissen bearbeitet werden kann, ohne jedes einzelne zu übertragen?
BEARBEITEN: Ich habe versucht, meine Einstellungen zu ändern, um BinarySerialization wie folgt zu verwenden:
%Vor% und haben keine Verhaltensänderung ergeben. Der einzige Weg, auf dem ich meine Consumes<PersonCreated>
-Klasse aufrufen konnte, besteht darin, ein Event explizit auf PersonCreated
type zu plazieren.
Edit: Serializer spielt hier keine Rolle. Ich habe das nicht durchdacht.
Sie könnten Bus.Instance.Publish
mit den richtigen Typinformationen aufrufen, indem Sie eine Reflektion für das Event
-Objekt vornehmen und dessen tatsächlichen Typ erhalten. Dies wird etwas peinlicher Code sein, aber sobald es getan ist, ist es wahrscheinlich leicht wiederzuverwenden. In Magnum haben wir eine Erweiterungsmethode, um damit zu helfen.
Begleiten Sie uns auf der Mailingliste, Ссылка , und wir werden Ihnen gerne weitere Einzelheiten erläutern.
Tags und Links c# event-handling masstransit