Non-Spa using SSR for "islands" of functionality seemingly caching data from previous call #329

Closed
opened 2025-08-09 17:15:52 +00:00 by fergalmoran · 0 comments
Owner

Originally created by @fooberichu150 on 11/4/2017

I'm using a hybrid ASP.NET Core 2.x website with React (not as a SPA but just "islands of functionality") for various controller actions. In order to have a faster render time we're making use of the asp-prerender-module taghelper and it is working out great.

That being said, I've ran into an issue that I'm having a hard time figuring out what is going on and/or how to resolve it. I have an action method that takes in parameters from the url (route parameters) and will pass data into a React component using the asp-prerender-module taghelper. My first call after running debug is fine, server and client render the same, but if I navigate to a different result-set on that action the nodeJS server somehow decides to render the previous page (even though I'm passing it the data for the current page) and the client side accurately sees and renders the data for the current result. I end up getting page flashing, of course, since the server side version does not match the client checksum.

My other actions that use similar functionality but don't vary by query parameters are fine and don't have the invalid checksum.

Is there some caching turned on and, if so, is there a way to figure out how to disable that, or what else could I be missing along the way?

EDIT I'm using the aspnet-prerendering npm package 3.0.1 with Microsoft.AspNetCore.SpaServices v.2.0.0 in case that helps narrow things down.

*Originally created by @fooberichu150 on 11/4/2017* I'm using a hybrid ASP.NET Core 2.x website with React (not as a SPA but just "islands of functionality") for various controller actions. In order to have a faster render time we're making use of the asp-prerender-module taghelper and it is working out great. That being said, I've ran into an issue that I'm having a hard time figuring out what is going on and/or how to resolve it. I have an action method that takes in parameters from the url (route parameters) and will pass data into a React component using the `asp-prerender-module` taghelper. My first call after running debug is fine, server and client render the same, but if I navigate to a different result-set on that action the nodeJS server somehow decides to render the previous page (even though I'm passing it the data for the current page) and the client side accurately sees and renders the data for the current result. I end up getting page flashing, of course, since the server side version does not match the client checksum. My other actions that use similar functionality but don't vary by query parameters are fine and don't have the invalid checksum. Is there some caching turned on and, if so, is there a way to figure out how to disable that, or what else could I be missing along the way? *EDIT* I'm using the `aspnet-prerendering` npm package 3.0.1 with `Microsoft.AspNetCore.SpaServices` v.2.0.0 in case that helps narrow things down.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/JavaScriptServices#329
No description provided.