0

我已经在之前的一些帖子中阅读过这个问题,但是它仍然无法正常工作,我已经评论了所有 console.log 并且仍然无法正常工作。

我正在使用 Angular 6,可能 Web API 在 .NET Core 中。

提前致谢!

4

1 回答 1

0

在谷歌搜索并尝试不同的方法后,我终于找到了答案。这可能是一个重复的问题/问题,但我只想分享我使用 .Net Core 做 WebAPI 的经验。

我发现我的网络应用程序似乎禁用了前后缓存。(可以在控制台 F12 开发工具上看到)

DOM7011:此页面上的代码禁用了前后缓存。有关详细信息,请参阅:http: //go.microsoft.com/fwlink/ ?LinkID=291337

添加 app.UseResponseCaching(); 在 Startup.cs

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        // Use Cross origin resource sharing
        app.UseCors(
            options => options.AllowAnyOrigin()
                              .AllowAnyMethod()
                              .AllowAnyHeader()
        );

        app.UseAuthentication();
        //20180830
        app.UseResponseCaching();
        app.UseMvc();
    }

添加 services.AddResponseCaching(); 在 Startup.cs 中,配置服务。

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddResponseCaching();
        ...............

    }

最后在我的 Web API 上添加一个响应头解决了这个问题。

    [HttpGet("usraccessbk"), ResponseCache(Location = ResponseCacheLocation.None, 
            NoStore = true)]
    public IActionResult GetWorkXXXXAccess(string user, string buXXXX) {
             ...........
    }
于 2018-08-30T23:13:07.750 回答