66 lines
2.1 KiB
C#
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>();
|
|
}
|
|
}
|
|
}
|