-
Notifications
You must be signed in to change notification settings - Fork 389
Registered Implementations Diagnostic Entry #2023
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
Conversation
7bed163 to
322ba49
Compare
josephdecock
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- How are we going to handle services that can validly have multiple implementations, such as ISecretParser and IExtensionGrantValidator?
- How do we decide which public interfaces are included in this list?
- If we add new interfaces in the future, do we have to remember to update this?
@josephdecock to answer those questions:
|
322ba49 to
ab4eed2
Compare
Always an array seems simplest, and if multiple implementations are registered unexpectedly we would want to know.
I think most public interfaces that will always be accessible from the diagnostics host should be captured.
I know it's a lot. Sorry. We probably have to leave out the interfaces from the other packages, like D.IS.Configuration and D.IS.EntityFramework.Storage.
Could we do reflection in a test? I did that in the mappings to make sure that we didn't forget a model property in an entity (or vice versa). |
947bb85 to
828a15a
Compare
I've made changes based on these comments and our offline discussion. Per our off-line discussion about the open generic types: I've included those manually for now and added a comment documenting why that choice was made. |
828a15a to
b005673
Compare
…d group by namespace
…o avoid having to resolve types
…c entry to maintain AOT compatability
ba17602 to
7fac545
Compare
What issue does this PR address?
Stacks on #2022 to add a diagnostic entry for implementations registered for our interfaces
Important: Any code or remarks in your Pull Request are under the following terms:
If You provide us with any comments, bug reports, feedback, enhancements, or modifications proposed or suggested by You for the Software, such Feedback is provided on a non-confidential basis (notwithstanding any notice to the contrary You may include in any accompanying communication), and Licensor shall have the right to use such Feedback at its discretion, including, but not limited to the incorporation of such suggested changes into the Software. You hereby grant Licensor a perpetual, irrevocable, transferable, sublicensable, nonexclusive license under all rights necessary to incorporate and use your Feedback for any purpose, including to make and sell any products and services.
(see our license, section 7)