src/Library/NetPro.ResponseCache/PostResponseCacheMiddleware.cs
(开头部分) 12KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.ResponseCaching;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
using NetPro.CsRedis;
using NetPro.ShareRequestBody;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace NetPro.ResponseCache
{
public class PostResponseCacheMiddleware
{
private readonly ILogger _iLogger;
private readonly RequestDelegate _next;
private IMemoryCache _memorycache;
private ResponseCacheOption _responseCacheOption;
private readonly IConfiguration _configuration;
/// <summary>
///
/// </summary>
/// <param name="next"></param>
/// <param name="configuration"></param>
/// <param name="iLogger"></param>
/// <param name="memorycache"></param>
/// <param name="responseCacheOption"></param>
public PostResponseCacheMiddleware(RequestDelegate next, IConfiguration configuration,
ILogger<PostResponseCacheMiddleware> iLogger,
IMemoryCache memorycache,
ResponseCacheOption responseCacheOption)
{
_next = next;
_configuration = configuration;
_iLogger = iLogger;
_memorycache = memorycache;
_responseCacheOption = responseCacheOption;
}
/// <summary>
/// Post:(从头排序后+body json整体 )hash
/// </summary>
/// <param name="context"></param>
/// <param name="responseCacheData">自定义对象不能ctor注入</param>
/// <returns></returns>
public async Task InvokeAsync(HttpContext context, ResponseCacheData responseCacheData, RequestCacheData requestCacheData)
{
context.Request.EnableBuffering();
var token = context.RequestAborted.Register(async () =>
{
await Task.CompletedTask;
后面还有 225 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。