Net Core自定义响应缓存



我需要根据查询字符串中的布尔值来决定是否缓存响应。不幸的是,我找不到这样的例子。你能帮我吗?

您可以为该场景创建一个自定义中间件,它从查询中读取布尔值,并根据该值缓存响应(无论是什么(。

您可以在这里阅读有关自定义中间件的信息。

您的中间件应该是这样的:

public class OptionalCachingMiddleware
{
private readonly RequestDelegate _next;
private readonly IServiceProvider _services;
public OptionalCachingMiddleware(RequestDelegate next, IServiceProvider services)
{
_next = next;
_services= services;
}
public async Task InvokeAsync(HttpContext context)
{
var shouldCache = bool.Parse(context.Request.Query["your-query-parameter-name"]);
if (shouldCache)
{
var responseCache = _services.GetRequiredService<IResponseCache>();
// put your caching logic here
}
// Call the next delegate/middleware in the pipeline
await _next(context);
}
}

相关内容

  • 没有找到相关文章

最新更新