我通过邮递员发送了一个带有“If-None-Match”标题的请求,但它在控制器中总是null
。
我使用的是Asp.net核心1.1。
我的代码有什么问题吗?
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);
}
}
更新1
我使用If-Match
和&创建新请求If-None-Match
标头,但控制器If-Match
中只有If-None-Match
标头仍然存在null
。
答案 0 :(得分:0)
您在调试器中查找错误的标头。而是HeaderIfMatch
检查HeaderIfNoneMatch
Request.Headers.ContainsKey("If-None-Match")
- 此代码很好,通过Postman为我工作。但是,相应于屏幕截图,看起来像是将If-None-Match
添加为查询参数,而不是标题。
答案 1 :(得分:0)
你能试试这个语法吗?
public class Column : BindableBase, INotifyPropertyChanged
{
public string name { get; set; }
public ColumnValidation ColumnValidation { get; set; }
public List<RefEntryValue> LookupValues { get; set; } = null;
private bool _selected = false;
public bool Selected {
get => _selected;
set
{
_selected = value;
OnPropertyChanged();
}
}
}
您可以从 request.Headers.Keys.Contains(HeaderNames.IfNoneMatch)
导入 HeaderNames