Ich habe ein Problem beim Abmeldeprozess als nach dem Abmelden user.identity.getuserid() gibt den Benutzer-ID-Wert zurück, ob es Null zurückgeben soll. Hier Screenshot here ist mein Code,Warum nach erfolgreicher Abmeldung user.identity.getuserid() gibt Benutzer-ID-Wert in Web-API zurück?
/// <summary>
/// Logout
/// </summary>
/// <returns>Http 200 Result</returns>
[Route("Logout")]
public async Task<IHttpActionResult> Logout()
{
//Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
string userId = User.Identity.GetUserId();
await UnitOfwork.ActiveUserRepository.DeleteOne(Builders<ActiveUser>.Filter.Where(o => o.UserId == userId));
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType, DefaultAuthenticationTypes.ExternalBearer);
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType, DefaultAuthenticationTypes.ExternalCookie);
var autheticationManager = HttpContext.Current.GetOwinContext().Authentication;
autheticationManager.SignOut(CookieAuthenticationDefaults.AuthenticationType);
ManageLogOutHistory();
return Ok();
}
Ich habe 'Direktfenster' eingecheckt, nach dem Abmelden zurückgegeben Benutzer ID-Wert. –
Könnte es sich um ein Caching-Problem handeln, das sich auf die aktuelle Webanforderung bezieht? Wenn Sie 'Logout' ein zweites Mal (direkt danach) aufrufen, was ist der Wert von' userId' für diese zweite Anfrage? – mjwills
Ich habe einen Screenshot beigefügt. Bitte klicken Sie hier auf Screenshot –