live-forum/server/webapi/LiveForum/LiveForum.Code/MiddlewareExtend/MiddlewareExtends.cs
2026-03-24 11:27:37 +08:00

66 lines
2.1 KiB
C#

using Microsoft.AspNetCore.Builder;
namespace LiveForum.Code.MiddlewareExtend
{
/// <summary>
/// 中间件扩展
/// </summary>
public static class MiddlewareExtends
{
/// <summary>
/// 注册全局中间件
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseMiddlewareAll(this IApplicationBuilder builder)
{
return builder
.UseExceptionMiddleware()
.UseExecutionTimeMiddleware()
//.UseResponseCacheMiddleware() // 响应缓存中间件需要单独在路由解析后注册
//.SignBaseMiddleware()
;
}
/// <summary>
/// 异常中间件
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseExecutionTimeMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<ExecutionTimeMiddleware>();
}
/// <summary>
/// 执行时间中间件
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseExceptionMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<ExceptionMiddleware>();
}
/// <summary>
/// 签名验证
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder SignBaseMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<SignBaseMiddleware>();
}
/// <summary>
/// 响应缓存中间件
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseResponseCacheMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<ResponseCacheMiddleware>();
}
}
}