2017-08-06 6 views
0

ガイド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にアップグレード)では、最小限の労力でこれを達成できました。

答えて

0

F5キーを押すと、キャッシュをバイパスして常に新しい応答が得られます。代わりにリンク(...)に移動しようとすると、応答が実際にキャッシュされていることがわかります。

+0

通常、私がF5だけを押すと、私がやった他のサイトのためにそこにも304sが入ります。これはすべて200sです。今、私はキャッシュをバイパスするハードなことをすることができますが、ここではそうではありません。このことに気づかされた主な症状は、PageSpeed Insightsがimages/css /などにフラグを立てることでした。キャッシュ・ヘッダーなし – Robert

+0

テストするには、キャッシュされているページ(またはアクション)にAエレメントを追加し、そのエレメントにナビゲートします。そのアクションがヒットしていないことがわかります。 –

+0

インデックスからは、開発ツールの[ネットワーク]タブが開いたページ内のリンクをクリックしました。すべての資産が200に戻った。レイアウトの一部であるイメージと、テーマを構成するCSS(レイアウトからも提供される)さえも。 – Robert

関連する問題