-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
UnitTesting and Razor External Access wrappers for ISB services #48776
Conversation
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
f5c8355
to
f9a5d05
Compare
@shyamnamboodiripad PTAL |
@dotnet/roslyn-ide |
72feefd
to
6fdcc85
Compare
b9556e4
to
9495b60
Compare
src/Tools/ExternalAccess/Razor/Remote/RazorRemoteServiceConnectionWrapper.cs
Show resolved
Hide resolved
{ | ||
internal interface IRemoteServiceCallbackDispatcherProvider | ||
{ | ||
IRemoteServiceCallbackDispatcher GetDispatcher(Type serviceType); |
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.
😕 This seems like something the partner would manage as a completely independent brokered service. The only part they need from us is a brokered service that gives access to a specific solution.
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.
We could remove these but then everyone would need to reimplement pretty much the same logic we have in Roslyn. I opted to make that infrastructure available, so it's easy to use ISB for partners.
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.
We also don't want to expose the different descriptors for 32/64/64S.
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.
Overall looks fine. Eventually I'd like to see the IVT dependencies here reduced, first by eliminating the use of Roslyn's callback dispatchers (these can be implemented by each partner separately, and if it's too complex then ServiceHub itself needs to provide this functionality), and then by moving the services to independent brokered services that depend only on Roslyn's brokered service that provides access to the workspace and/or solution.
We need to make sure this works with Server GC scenarios as well.
Corresponding changes in UnitTesting: https://devdiv.visualstudio.com/DevDiv/_git/VSUnitTesting/pullrequest/282266
Fixes #44327