@enis this is where we get the
NullReferenceException
.
Menu
can be null inMainHeader.cs
private async Task OnNavBarMouseOverAsync() { if (Menu.NavBarStatus == MenuStatus.OpenOnHover) { if (await UtilsService.HasClassOnTagAsync("body", "lp-closed")) { await UtilsService.AddClassToTagAsync("body", "lp-extended"); } } }
It is possible that Menu
might be null
but the question is why this is hapenning. The reason why we have included Lepton Theme projects source code to the main solution is crashing caused by Menu
being null
during disposal.
public void Dispose()
{
if (Menu is not null)
{
Menu.StateChanged -= RefreshMenu;
}
NavigationManager.LocationChanged -= OnLocationChanged;
}
Similary we modified the MainSiderbar
. But if Menu
is somehow null
, it implies that component has not been initialized via OnInitializedAsync
- how could be this possible?
Hi, we are not able to reproduce this right now. We are trying to investigate it further but it happens randomly. The only thing we are quite sure with is that it happens after sudden application shudown and followed by application (re)start (happens during new initialization).
The application is hosted in IIS and what seems strage is that even though the Application Pool is set to be always running, the application still somehow went idle/off. I am not sure if this is some kind of Blazor Server behavior or it is caused by application instability (but there is no logs regarding crash in log file nor in event viewer).
What we are able to observe are these strange strings cut-offs. It looks like it always begins with some request been malformed and following redirect to error page (?) fails with repetitive issues to fetch some content files - it is searching with adding character by character to the final url - '_content/Volo.Abp.' etc (seems to always fail for LeptonTheme content files). Sometimes the application is able to locate the resource and recovers from the erroneous state but it takes time and also CPU resources.
There are also some SignalR disconnects in the logs but the issue is affecting all users as the application is not responsive while in this state (but we still need to confirm this when the issue happens again).
We would like to consult with you what we can do more to investigate this further and have more information about the issue. Maybe this sounds familiar to you as you might have already experienced this kind of error before and may have some ideas.
Unfortunately we are not able to provide more information regarding the steps to reproduce right now.
Thank you. I had seen the provided link before I have started this thread. Yes, I understand that this is something already in your backlog with a (probably) low priority. That is why we would like to rise attention to this feature and kindly ask for your support and cooperation.
There are several more questions in the original post so I would also like to ask you, if you could take a look on them as well. Thanks!
Hello! This is going to be a longer topic with some questions and some feature requests. The company I am working for is using ABP Platform (with Commercial/Pro modules) for creating and deploying customized applications for customers which are obliged to be GDPR compliant when working with user data. Therefore we as a supplier are required to provide necessary means to fullfil all legal requirements. I understand this is more about the relationship between our customers and their users but this is something I consider to be general feature that shall be part of platforms like ABP is. In general the GDPR topic is quite complex so I will try to address some of the relevant parts.
I don't want to really go into details of the GDPR rules and compliancy but my questions here is if the ABP teams did some research and already addressed some of the GDPR requirements? I have seen there are lot of information been processed and stored about users (either identity level or logs - system log files or auditing/entity changes). This data definitely requires consent from users and I haven't seen any features or documentation regarding this. Is there at least any list with all the user data being processed and stored (database, files, logs, cookies)?
Special part of the GDPR rules is the "Right to be Forgotten" or the "Right to erasure". Any user can ask the service provider to remove his/her user data (or anonymized in a way that the leftover data cannot be connected to the user in any way utilizing 3rd party databases). The ruling is much more complex and there are exceptions when the user does not have this right - but that is up to the service provider to determine. This is more of a feature request - it would be very nice if ABP could provide functionality that will either remove or at least anonymize personal data of a specific user from all existing data sources (excluding backups - there are special rules for that one). Data allowing anyone to uniqually identify the person - name, address, email address, phone number, IP address (it is considered as personal data in some countries), etc. This is something we had already addressed in our previous platform before moving to ABP.
I know there is a possibility to utilize Consent functionality of IdentityServer4 but it would be really nice if e.g. Identity module could provide this kind of consent functionality out of the box (consent page redirection and configuration). Same logic applies to consent regarding the cookies. I have seen that other product of Volosoft - ASP.NET Zero already supports it. With upcoming version of ABP it would be a really nice addition, if this kind of features will be supported.
I understand these features will require time to be introduced to ABP, if the ABP team decides to support it. We are open for participation or contributions but we will definitely require support, expertise and cooperation of ABP team, if the ABP team has the possibility to provide it.
I'm quite surprised that there are only few questions regarding the GDPR in the support forum. This has become a really large thing in the EU and many companies are still dealing with proper implementation of the whole GDPR process and its requirements. Anyway thanks for reading and I am looking forward to any replies.