2017-07-25 4 views
3

J'envoie une requête avec l'en-tête "If-None-Match" par le facteur, mais c'est toujours null dans le contrôleur. J'utilise le noyau Asp.net 1.1 1.1.En-tête If-None-Match toujours null dans le contrôleur principal asp.net

Y at-il un problème avec mon code?

enter image description here Debug enter image description here code

if (Request.Headers.ContainsKey("If-None-Match")) 
{ 
    var oldETag = Request.Headers["If-None-Match"].First(); 
    if (cache.Get($"Tenant-{id}-{oldETag}") != null) 
    { 
     return StatusCode((int)HttpStatusCode.NotModified); 
    } 
} 

MISE À JOUR 1

Je crée une nouvelle demande avec les deux If-Match & tête If-None-Match, mais seulement If-Match tête existe dans le contrôleur If-None-Match encore null. enter image description here enter image description here

Répondre

0
  • vous regardez dans l'en-tête mal dans le débogueur. Au lieu de HeaderIfMatch vérifier HeaderIfNoneMatch

  • Request.Headers.ContainsKey("If-None-Match") - ce code est très bien et fonctionne pour moi via Postman. Mais, en fonction de la capture d'écran, on dirait que vous ajoutez If-None-Match en tant que paramètre de requête, pas en tant qu'en-tête.

+0

- HeaderIfNoneMatch est null également. Dans le facteur, j'ai ajouté des valeurs dans l'onglet en-tête, ce n'est donc pas une chaîne de requête. –