asp.net5.0webapi项目中在中间件中访问TempData。
创始人
2024-09-17 03:30:18
0
  1. 在Startup.cs的Configure方法中注册TempData:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
    app.UseSession();  // 添加支持session
    app.Use(async (context, next) =>
    {
        context.RequestServices.GetRequiredService().SetSession(context.Session);
        await next.Invoke();
    });
    app.Use(async (context, next) =>
    {
        var tempData = context.RequestServices.GetService().GetTempData(context);
        context.Items["TempData"] = tempData;  // 保存到上下文中,以便后续中间件使用
        await next.Invoke();
    });  
}
  1. 使用中间件读取TempData:
public class MyMiddleware
{
    private readonly RequestDelegate _next;
    
    public MyMiddleware(RequestDelegate next)
    {
        _next = next;
    }
    
    public async Task InvokeAsync(HttpContext context)
    {
        var tempData = context.Items["TempData"] as ITempDataDictionary;
        if (tempData != null)
        {
            tempData["key"] = "value";  // 设置TempData值
        }
        
        await _next(context);
    }
}
  1. 注册中间件:
app.UseMiddleware();

注意:必须在Session中间件之后注册TempData中间件,否则可能无法正常使用TempData。

相关内容

热门资讯

黑科技脚本(wpk最新黑科技)... 黑科技脚本(wpk最新黑科技)wpk透视挂使用教程(WPk)其实有挂(有挂猫腻)-哔哩哔哩;1、全新...
黑科技ai(wpk最新黑科技)... 黑科技ai(wpk最新黑科技)wpk辅助(WpK)真是有挂(了解有挂)-哔哩哔哩1、wpk最新黑科技...
黑科技神器(wpk最新黑科技)... 黑科技神器(wpk最新黑科技)wpk德州ai辅助器好用吗(WPk)一直真的是有挂(有挂功能)-哔哩哔...
黑科技真的(wpk ai辅助)... 黑科技真的(wpk ai辅助)wpk德州ai机器人(wPK)都是是有挂(真实有挂)-哔哩哔哩1、游戏...
黑科技真的(wpk ai辅助)... 黑科技真的(wpk ai辅助)线上wpk德州ai打法(wPK)切实真的是有挂(有挂头条)-哔哩哔哩;...
黑科技ai(wpk最新黑科技)... 黑科技ai(wpk最新黑科技)wpk微扑克辅助(wpK)一贯有挂(真实有挂)-哔哩哔哩;1、进入游戏...
黑科技中牌率(wpk最新黑科技... 黑科技中牌率(wpk最新黑科技)wpk免费赛规则(WPK)好像存在有挂(今日头条)-哔哩哔哩一、wp...
黑科技规律(wpk最新黑科技)... 黑科技规律(wpk最新黑科技)wpk有辅助挂吗(Wpk)总是存在有挂(有挂猫腻)-哔哩哔哩wpk有辅...
黑科技美元局(wpk ai辅助... 黑科技美元局(wpk ai辅助)Wpk辅助器(wPk)总是是有挂(真实有挂)-哔哩哔哩1、Wpk辅助...
黑科技科技(wpk最新黑科技)... 黑科技科技(wpk最新黑科技)wpk辅助神器(WPk)确实真的是有挂(有挂猫腻)-哔哩哔哩wpk最新...