JSInterop Streaming implementation to allow for larger objects over SignalR #247
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new implementation of
IStorageProvider
(BrowserStreamingStorageProvider
) which utilizes streaming data between C# and JS Interop to avoid limitations of sending data purely via JSInterop which runs into the SignalR message limit as detailed here.This can generally be fixed by increasing the MaximumReceiveMessageSize but this comes with other risks, detailed here.
This change utilises a small javascript file which will need to be added into projects that wish to use the streaming functionality but this change should be fully backwards compatible and not affect any existing usage of the default non streaming implementation.
Resolves #219
Please let me know thoughts/feedback/changes :)