1
ASP.NET Core 2.0 Web APIで応答キャッシュを取得するのに苦労しています。ASP.NETコア応答キャッシュが期待通りに動作しない
私はミドルウェアで応答キャッシュを追加しました:
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCaching();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseResponseCaching();
...
}
私は、そう:
[ResponseCache(Duration = 30)]
[HttpGet()]
public IActionResult GetLookups()
{
Lookup lookups = dataRepository.GetContactLookups();
}
ここで郵便配達のリクエストとレスポンスですキャッシュコントロール応答のhttpヘッダーが応答を送信する場合私は郵便配達員からもう一度、それは私のアクションメソッドで私のコードを呼び出します。私は自分のコードを呼ぶことなくキャッシュされたレスポンスを使うことを期待していました。
私はレスポンスキャッシングの仕組みを誤解していますか?どんな助けもありがとう。
グレート答えを無効にする必要がポストマンとの問題。多くの頭痛を救うでしょう。ブラウザの要求にno-cache/no-storeヘッダーがある場合、RFCはこの動作をキャッシュに必要としますが、実際にはISPまたはCDNのような中間キャッシュには意味があります。コンテンツの所有者であり、変更されていないことがわかっている場合、サーバーは再レンダリングを強制されるべきではありません。ここに私が書いた拡張機能があり、このデフォルトの動作を無効にすることができます:https://github.com/speige/AspNetCore.ResponseCaching.Extensions https://www.nuget.org/packages/AspNetCore.ResponseCaching.Extensions –