Skip to content
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

JSInterop Streaming implementation to allow for larger objects over SignalR #247

Merged
merged 4 commits into from
Sep 18, 2024

Conversation

CoreyHayward
Copy link
Contributor

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 :)

Copy link
Member

@chrissainty chrissainty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thanks @CoreyHayward 👍

@chrissainty chrissainty merged commit e1139f9 into Blazored:main Sep 18, 2024
3 checks passed
@folkcoder
Copy link

@chrissainty Any chance of getting a release published with this change? Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] LocalStorage crashes without throwing exception
3 participants