Hi @dschueck,
I was wondering about this myself a while back! I found this blog post to be an easy to understand explanation: DO I NEED TO UNSUBSCRIBE FROM AN OBSERVABLE?.
Hope it helps ;)
Hi @ismcagdas
Sounds good : ) thanks for this information!
Here are the links to the GitHub issues:
Great!
I will create two issues:
Hi @ismcagdas!
It seems this one is another of the browser cache related problems. I cleaned all browser data and now the problem does not occur anymore!
Thank you for your time!
Hi @ismcagdas!
I think you are right! I cleaned my main browsers data and also tried with other browsers and the problem does not occur anymore.
Thank you so much!
Implemented preprocessor directive as a work-around:
#if DEBUG
try
{
context.Token = SimpleStringCipher.Instance.Decrypt(qsAuthToken, AppConsts.DefaultPassPhrase);
}
catch
{
// ignore
}
#else
context.Token = SimpleStringCipher.Instance.Decrypt(qsAuthToken, AppConsts.DefaultPassPhrase);
#endif
I would prefer a better solution, though ...
PS: It seems there is a problem with the SignalR chat-service related to this as well! When impersonating a tenant user, chat-service failed to connect, also when switching back to host user, chat-service failed to connect. Since I use the workaround above the problem seems to be gone.
I just tried with a clean install of my project (version 9.0.1) and this problem still exists.
I just tried with a clean install of my project and this problem exists there as well.
I implemented the #if DEBUG
preprocessor directive as a work-around for my debug environment:
...\CompanyName.ProjectName.Web.Core\Authentication\JwtBearer\PoinowJwtSecurityTokenHandler.cs
#if DEBUG
try
{
AsyncHelper.RunSync(() => ValidateSecurityStampAsync(principal));
}
catch
{
// ignore
}
#else
AsyncHelper.RunSync(() => ValidateSecurityStampAsync(principal));
#endif
and
...\CompanyName.ProjectName.Core\Friendships\Cache\UserFriendsCache.cs
var user = new User();
#if DEBUG
try
{
user = AsyncHelper.RunSync(() => _userManager.FindByIdAsync(userIdentifier.UserId.ToString()));
}
catch
{
// ignore
}
#else
user = AsyncHelper.RunSync(() => _userManager.FindByIdAsync(userIdentifier.UserId.ToString()));
#endif
I would prefere a better solution, though ...