UnitTesting and Razor External Access wrappers for ISB services#48776
UnitTesting and Razor External Access wrappers for ISB services#48776sharwell merged 5 commits intodotnet:masterfrom
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.
😕 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.
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.
We also don't want to expose the different descriptors for 32/64/64S.
sharwell
left a comment
There was a problem hiding this comment.
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