Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Pipeline modules for cross-cutting concerns #871

Closed
bromanko opened this issue Sep 13, 2017 · 7 comments
Closed

Pipeline modules for cross-cutting concerns #871

bromanko opened this issue Sep 13, 2017 · 7 comments

Comments

@bromanko
Copy link

Is a capability similar to current SignalR's pipeline modules planned? Right now I'm using DyanmicProxy implementations for cross-cutting concerns but that requires my invocation methods to be virtual which is bound to get forgotten.

@davidfowl
Copy link
Member

Not sure if we want to bring these back yet. Why do you need them? What sorts of cross cutting things are you doing in your hubs?

@bromanko
Copy link
Author

Right now this is being used to log all invocations. Another use case I'm exploring is for input parameter validation. I can see it being useful for many of the typical ASP.NET middleware use cases.

@davidfowl
Copy link
Member

@bromanko logging invocations isn't a good enough reason. That'll be there by default in the new version.

Another use case I'm exploring is for input parameter validation

Maybe. What sort of validation do you have in mind? There's no model binding, validation or anything like that (or plans for anything like that currently).

I'd prefer if this version of SignalR is extremely light weight and inflexible by default with minimal extension points.

I can see it being useful for many of the typical ASP.NET middleware use cases.

I need more examples, ASP.NET middleware is specific to the http domain. These are specifically RPC invocations. We need more scenarios to make sure what we build works.

As you can tell, I'm not a fan of the existing hub pipeline so I'm not keen to bring anything like it back until there are a bunch of scenarios that require it.

@bromanko
Copy link
Author

No major complaints from me. I am more interested in understanding the roadmap than trying to convince you to add this feature. Logging has been the only thing I immediately needed and as you mentioned, this is being included.

For parameter validation, I was considering adding DataAnnotation validation at a cross-cutting level.

Another potential use-case could be adding per-invocation authorization. From the best I can tell, right now authorization is handled only at the hub level.

@davidfowl
Copy link
Member

For parameter validation, I was considering adding DataAnnotation validation at a cross-cutting level.

What sort of application data are you posting to your hubs?

Another potential use-case could be adding per-invocation authorization.

Already works per invocation and per hub connection.

I am more interested in understanding the roadmap than trying to convince you to add this feature

Yes that's great! I have no doubt this feature is generally useful (thats why we did it initially) but I want to see some concrete examples before we add anything else.

@muratg
Copy link

muratg commented Sep 21, 2017

We're looking related topics here: #924

@aspnet-hello
Copy link

We periodically close 'discussion' issues that have not been updated in a long period of time.

We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.

@aspnet-hello aspnet-hello removed this from the Discussions milestone Sep 24, 2018
@aspnet aspnet locked and limited conversation to collaborators Sep 24, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants