I have simple app with one page that can be access only by one user at a time. I've made Singletone object that tracks who currently view a page. When user close tab, browser lock is released - in Dispose method i remove lock in singletone object. Problem is that sometimes when i close a tab or browser, dispose is not called instantly but after couple of minutes and sometimes never (after 2 days). I figured out that when i close browser in Firefox, dispose is never called. Is this lag by design? Is there better way to solve this problem?
I call dispose like this:
Edit: I'm using .NET 6
void IDisposable.Dispose()
{
base.Dispose();
//AppData is singletone object
AppData.InUseByuser=null;
}