Any update with this? Should it be possible to capture scroll events in the leptonx theme?
Cheers,
Steve.
Hi,
I've upgraded to version 2.0.4 but I'm still not seeing the scroll events.
Just to clarify, I'm using the Lepton X Pro theme, will that make a difference?
Cheers,
Steve.
Hi,
It appears the the scroll event is being suppressed. This has start happening since upgrading to 7.0.1 and LeptonX.
It looks like it related to the virtual scrollbar that's been added.
Is there anyway to remove the virtual scrollbar or hook into its scroll events?
Cheers,
Steve.
hi
Microservices will use a cache prefix, It can't clean the cache properly if you use the different prefix in admin and product.
If I add a colon to the end of the key prefix this also works (I’m not entirely sure why that works)
I haven't reproduced this.
In conclusion: You can't use different prefix in several microservice.
OK, thanks for investigating and letting me know.
Sorry, I think I might be making things more complicated than they need to be.
The issue I’m seeing is that updating the localization files does not result in the redis cache being correctly cleared and this means that the updated localizations do not appear in the frontend. After some investigation I believe this is related to the setting of the KeyPrefix option of AbpDistributedCacheOptions class.
Steps to reproduce what I’m seeing are below:
Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "ProductService"; });
If I don’t set the KeyPrefix the updates work. If I add a colon to the end of the key prefix this also works (I’m not entirely sure why that works)
Thanks,
Steve.
hi
The
KeyPrefix
ofAbpDistributedCacheOptions
has been set in all template projects, including the microservice template.So also recommend you to do this.
Thanks for checking. My question was more around the need for having the colon character : at the end of the prefix. Is the colon required?
Cheers,
Steve.
OK, so tracing this through the system and looking in REDIS the reason why it's not clearing the cache is because it's attempting to remove the wrong key.
With the redis-cli monitor command you can see that it's running the unlink command and passing it the key c:AbpExternalLocalizationTexts,k:TimeTrackerTimeTrackerService:en
However, the key in redis is c:AbpExternalLocalizationTexts,k:TimeTracker:TimeTrackerService:en (note the colon between TimeTracker and TimeTrackerService
It's worth noting that as far as i can tell all the other commands that involve keys being passed to REDIS correctly have a colon between TimeTracker and TimeTrackerService. An example of this is below
Any ideas?
Cheers,
Steve.
I think I've found the answer to this.
If we look in the distributed cache class we can see that the cache key is being constructed via the NormalizeKey method that calls KeyNormalizer.NormalizeKey which is method on an injected IDistributedCacheKeyNormalizer
https://github.com/abpframework/abp/blob/9d2902b335ca089be6ae07242d4470472de39cf5/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs
Looking at DistributedCacheKeyNormalizer we can see that when it constructs the key it doesn't include a colon
https://github.com/abpframework/abp/blob/e3e1779de6df5d26f01cdc8e99ac9cbcb3d24d3c/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCacheKeyNormalizer.cs
I ignored this initially because the system seemed to be correctly pulling keys from REDIS without issue.
However, after some more investigation it looks like all the "templates" for various project types in include a colon when setting KeyPrefix on the AbpDistributedCacheOptions. I added a colon to my KeyPrefix and it all appears to be working correctly now.
Is what i found correct? Or am i missing something?
Cheers,
Steve.
OK, so tracing this through the system and looking in REDIS the reason why it's not clearing the cache is because it's attempting to remove the wrong key.
With the redis-cli monitor command you can see that it's running the unlink command and passing it the key c:AbpExternalLocalizationTexts,k:TimeTrackerTimeTrackerService:en
However, the key in redis is c:AbpExternalLocalizationTexts,k:TimeTracker:TimeTrackerService:en (note the colon between TimeTracker and TimeTrackerService
It's worth noting that as far as i can tell all the other commands that involve keys being passed to REDIS correctly have a colon between TimeTracker and TimeTrackerService. An example of this is below
Any ideas?
Cheers,
Steve.
Hi,
Ok, sounds like it's something with my setup then. Can you let me know what module the code is in? That way i can pull the source code and debug the issue to see what's happening.
Cheers,
Steve.