Endpoint and Send-Only Endpoint

Through some basically accidental design choices, we ended up with a send-only endpoint in the same host (Windows service standard hosting) as a send/receive endpoint. Will this cause us any problems?

Hi Mark,

I am not entriely sure what you mean, maybe to help us, can you send us your endpoint comnfiguration settings and your diagnostics file?

Regards
John

Hi Mark,

I have spoke to some of my colleagues and i finally understood what you mean.
The answer to your question, it is not ideal but it should be fine.
As long as you have your sendonly endpoint configured as SendOnly.

Regards
John

As John said, you should be good to go. As a general guideline, hosting more than one endpoint in a single physical host is doable, but it comes with some caveats that you need to account for.

If, by chance, the two endpoints have the same name, they will behave as competing consumers with little to no advantage. If one is a send-only endpoint, there will be no side effects. It may be of little use, though.

If they are different endpoints (with different names and input queues), though, the multi-hosting is tricky. The biggest “problem” is assembly scanning. All endpoints in the same host will scan all assemblies in the “bin” directory, loading handlers, sagas, behaviors, and transport or persistence-related components, whether they were meant for that endpoint. This might lead to startup errors, which is a good thing or might lead to far worse (and hard to detect) undesirable runtime behaviors. Solving the assembly scanning issue is doable but requires careful configuration.

If those additional endpoints are send-only, as John said, it’s less of a problem because a send-only endpoint can only send messages and never consumes from an input queue.

Thanks for the feedback. Our second endoint is definitely send only. I understand this is sub-optimal but it sounds like it will be okay. I may change the architecture in the future to use only a single endpoint but I am stuck with the way it is, at least for a bit.

1 Like