ガイドhere(Application Insightsなどのアプリケーション固有の項目の一部を除く)に従っています。ASP.NET Core 1.1のブラウザキャッシュが起動しない
Startup.csは、この2つの領域に変更されました:
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCompression(options =>
{
options.Providers.Add<GzipCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "image/svg+xml" });
});
// Add framework services.
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DatabaseConnection")));
services.AddDbContext<DatabaseContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DatabaseConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddResponseCaching();
services.AddMvc();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseResponseCompression();
app.UseResponseCaching();
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseIdentity();
// Add external authentication middleware below. To configure them please see https://go.microsoft.com/fwlink/?LinkID=532715
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
とページのための各種コントローラ上の
が、私はこの(これは、人々がtraditionalllyそれを設定したものであるかどうかわからない、2分に設定ようのResponseCacheを呼び出します):Azureにデプロイした後、私は繰り返しF5を押しても、ネットワークトラフィックが200になることがあります。目標は、CSS、JS、およびページ([許可]管理対象コントローラの一部ではないページ)をキャッシュすることです。
アップデート:残念なことに、私はこれに関する多くのガイドをレビューしています。それらはすべて本質的に同じことを言っているようです(主な違いは、Response Caching Nugetパッケージに頼らず、ハードコードされたバージョン、同じ非結果)しかし、何らかの理由でこれは動作しません。 Web Formsアプリケーション(2.0から4.0にアップグレード)では、最小限の労力でこれを達成できました。
通常、私がF5だけを押すと、私がやった他のサイトのためにそこにも304sが入ります。これはすべて200sです。今、私はキャッシュをバイパスするハードなことをすることができますが、ここではそうではありません。このことに気づかされた主な症状は、PageSpeed Insightsがimages/css /などにフラグを立てることでした。キャッシュ・ヘッダーなし – Robert
テストするには、キャッシュされているページ(またはアクション)にAエレメントを追加し、そのエレメントにナビゲートします。そのアクションがヒットしていないことがわかります。 –
インデックスからは、開発ツールの[ネットワーク]タブが開いたページ内のリンクをクリックしました。すべての資産が200に戻った。レイアウトの一部であるイメージと、テーマを構成するCSS(レイアウトからも提供される)さえも。 – Robert