Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RemotingServer events #92

Closed
yallie opened this issue Dec 5, 2024 · 0 comments
Closed

RemotingServer events #92

yallie opened this issue Dec 5, 2024 · 0 comments

Comments

@yallie
Copy link
Collaborator

yallie commented Dec 5, 2024

Context: I'm porting Zyan Framework from .NET Remoting to CoreRemoting.
ZyanComponentHost has similar events to RemotingServer, but their semantics don't match exactly.
There is currently no way to translate RemotingServer events into Zyan host events.

Is your feature request related to a problem? Please describe.

  1. BeforeCall event occurs when a component is already instantiated.
    It doesn't provide a way to cancel the call or to change the component name.
  2. No event is fired when a component call rejected due to security reasons.

Describe the solution you'd like

  1. Changing existing BeforeCall/AfterCall event semantics and parameters is a breaking change.
    I would rather avoid any breaking changes even if they are not very likely to affect any users.
  2. Adding new BeforeInvoke/AfterInvoke/InvokeFailed events can be confusing.
    If an interface provides both BeforeCall and BeforeInvoke events, it's not clear what's the difference.
  3. Another idea was to introduce a new interface for extended events. Turned out to be too clumsy.
  4. On a closer look, I ended up adding two new events, BeginCall and RejectCall.

Describe alternatives you've considered
See above, 1, 2 and 3.

Additional context
Zyan Framework is also originally developed by @theRainbird: https://github.com/zyanfx/zyan
Thanks Hagen for the good work, we're using it on many projects,
and it's so much easier to use than plain .NET Remoting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant