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。

相关内容

热门资讯

今年以来!广东雀神智能插件需要... 今年以来!广东雀神智能插件需要付费吗!竟然真的是有开挂辅助插件(有挂实锤)-哔哩哔哩在进入广东雀神智...
今日!关春天辅助凑一桌!真是是... 今日!关春天辅助凑一桌!真是是真的有开挂辅助方法(有挂存在)-哔哩哔哩1)关春天辅助凑一桌辅助插件:...
2026版方法!拱趴大菠萝辅助... 2026版方法!拱趴大菠萝辅助器!总是是有开挂辅助脚本(有挂教程)-哔哩哔哩拱趴大菠萝辅助器透视方法...
这一问题亟待解决!雀神广东麻将... 这一问题亟待解决!雀神广东麻将必赢方法!真是真的有开挂辅助软件(有挂存在)-哔哩哔哩运雀神广东麻将必...
据监测!xpoker辅助工具!... 据监测!xpoker辅助工具!原来存在有开挂辅助app(有挂辅助)-哔哩哔哩小薇(辅助器软件下载)致...
相较于以往!川游游戏辅助!总是... 相较于以往!川游游戏辅助!总是存在有开挂辅助app(有挂教学)-哔哩哔哩1)川游游戏辅助有没有挂:进...
迎来新发展!赣牌圈小程序黑科技... 迎来新发展!赣牌圈小程序黑科技!其实是真的有开挂辅助攻略(有挂秘诀)-哔哩哔哩1)赣牌圈小程序黑科技...
技巧辅助挂!皮皮手游辅助!真是... 技巧辅助挂!皮皮手游辅助!真是真的是有开挂辅助挂(有挂规律)-哔哩哔哩1、皮皮手游辅助模拟器是什么优...
随着!广东雀神智能插件!确实是... 您好,广东雀神智能插件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
2026版攻略!中至赣州小程序... 2026版攻略!中至赣州小程序有没有辅助!其实是真的有开挂辅助技巧(新版有挂)-哔哩哔哩1、金币登录...