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。

相关内容

热门资讯

8分钟辅助!赣牌圈修改器,内蒙... 8分钟辅助!赣牌圈修改器,内蒙博乐填大坑辅助(真是是真的辅助平台)-哔哩哔哩8分钟辅助!赣牌圈修改器...
第六分钟积累!wepoker透... 第六分钟积累!wepoker透视是真的吗(透视)本来是有辅助透视(哔哩哔哩)1、许多玩家不知道wep...
第5分钟插件!新上游辅助反杀,... 第5分钟插件!新上游辅助反杀,黑科技透视工具(真是真的有辅助下载)-哔哩哔哩1、玩家可以在新上游辅助...
三分钟办法!xpoker怎么作... 三分钟办法!xpoker怎么作必弊(透视)总是是有辅助透视(哔哩哔哩)1)xpoker怎么作必弊免费...
第9分钟脚本!财神13辅助包最... 第9分钟脚本!财神13辅助包最新版本更新内容详解,决战卡五星游戏辅助器(确实是真的辅助app)-哔哩...
两分钟指南!wepoker破解... 两分钟指南!wepoker破解是真的还是假的(透视)本来存在有辅助神器(哔哩哔哩)该软件可以轻松地帮...
第二分钟辅助!微信小程序家乡大... 第二分钟辅助!微信小程序家乡大贰辅助器,战神辅助器(一直真的有辅助神器)-哔哩哔哩所有人都在同一条线...
6分钟手段!wepoker轻量... 6分钟手段!wepoker轻量版有透视吗(透视)一直存在有辅助透视(哔哩哔哩)1、每一步都需要思考,...
第五分钟辅助!途游辅助软件网站... 第五分钟辅助!途游辅助软件网站,多乐辅助app(确实是真的辅助app)-哔哩哔哩途游辅助软件网站破解...
7分钟模块!aa poker辅... 7分钟模块!aa poker辅助(透视)本来存在有辅助透视(哔哩哔哩)1、首先打开aa poker辅...