Open danielmarbach opened 8 years ago
@Particular/nservicebus-maintainers would like to flag this as Core V6 and get the squad to approve it. Thoughts?
:+1: to fix this
:+1:
@Particular/platform-dev-squad I would like to flag this V6
I think the change is good but since this touch the API only exposed to advanced users I propose we focus on
https://github.com/Particular/NServiceBus/pull/3355
and
https://github.com/Particular/PlatformDevelopment/issues/621
and look at this one once we have a decision on the above? (since they improve the API exposed to all users and therefor have much bigger impact)
:+1:
On Tuesday, March 8, 2016, Andreas Öhlund notifications@github.com wrote:
I think the change is good but since this touch the API only exposed to advanced users I propose we focus on
3355 https://github.com/Particular/NServiceBus/pull/3355
and
Particular/PlatformDevelopment#621 https://github.com/Particular/PlatformDevelopment/issues/621
and look at this one once we have a decision on the above? (since they improve the API exposed to all users and therefor have much bigger impact)
— Reply to this email directly or view it on GitHub https://github.com/Particular/NServiceBus/issues/3534#issuecomment-193692374 .
Don't miss the Async/Await Webinar Series • Learn more http://go.particular.net/l/27442/2016-02-15/681bjl →
Talked to @timbussmann and @andreasohlund today and we came to the conclusion that we cannot justify the value of this change since it really only affects a very small portion of users. We will live with this inconsistency and deal with it in a future release.
When doing the API walkthrough with @indualagarsamy @mikeminutillo and @udidahan, we detected that we have inconsistency in how we expose data of the incoming message over the context. Here are a few examples
The API is not concise and clear because we have multiple ways of accessing the message id and the headers. There are two ways we can achieve this:
.Message
on the context and only access data over that property, or.Message
Since the context is already the advanced object containing the strongly typed data for a given stage, I'd say we should just expose the necessary data on the context directly. So the code would only allow to do the following:
based on the stage. Better clarity and discoverability of the API. We would no longer confuse the users with two ways of achieving the same thing and therefore, remove questions like
for our users.
Questions
MessageHeaders
andHeaders
exposed inside the pipeline only for the purpose to make the user access to headers exposeIReadonlyDictionary
. I'm contemplating to streamline it and just exposeDictionary<string, string>
but make a copy of the headers. Thoughts?CustomRetryPolicy
would expose anITransportReceiveContext
instead ofIncomingMessage
. Ok?IncomingMessage
as an internal class to wrap the body and reverting of the body? This might reduce code redundancy on the contexts described above. Thoughts?Outgoing part
https://github.com/Particular/NServiceBus/issues/3535
Spike
API exploration impact
https://github.com/Particular/NServiceBus/pull/3529