src/Library/NetPro.ResponseCache/PostResponseCacheAttribute.cs
(开头部分) 16KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.Formatters;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NetPro.CsRedis;
using NetPro.ShareRequestBody;
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.Json;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace NetPro.ResponseCache
{
public enum ResponseMode
{
/// <summary>
/// 缓存,默认
/// </summary>
Cache = 0,
/// <summary>
/// 报错,触发响应缓存返回400状态码。可用于请求频率的限制,例如一秒中只能请求一次
/// </summary>
Error = 1,
}
/// <summary>
/// Post响应缓存
/// 优先级高于UsePostResponseCache全局Post缓存
/// </summary>
/// <remarks>特性方式继承自动生效
/// Order越小先执行;attribute方式在中间件之后运行</remarks>
public class PostResponseCacheAttribute : ActionFilterAttribute
{
/// <summary>
/// 是否集群模式,启用分布式Redis功能
/// </summary>
public bool Cluster { get; set; }
public ResponseMode ResponseMode { get; set; } = ResponseMode.Cache;
/// <summary>
/// 配合ResponseMode.Error模式使用,当触发缓存时的提示信息
/// </summary>
public string Message { get; set; } = "The request has been cached";
/// <summary>
/// 缓存持续时长
/// </summary>
public int Duration { get; set; }
///// <summary>
/////
后面还有 313 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。