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。

相关内容

热门资讯

黑科技苹果版!(AAPOKER... 1、黑科技苹果版!(AAPOKER)透明挂辅助工具,(aapokeR)本来有挂,专业教程(有挂透视)...
德州ai辅助有用!智星德州有挂... 1、德州ai辅助有用!智星德州有挂吗,aapoker辅助软件,玩家教程(切实存在有挂)。2、智星德州...
黑科技实锤!(wpK)透视辅助... 黑科技实锤!(wpK)透视辅助软件,(WPk)果然真的是有挂,规律教程(有挂透明)1、很好的工具软件...
德州之星ai软件!微扑克怎么用... 德州之星ai软件!微扑克怎么用ai辅助,德扑ai机器人哪里有卖,2025新版技巧(本来真的有挂);大...
黑科技插件!(wepoKe)软... 黑科技插件!(wepoKe)软件透明挂,(wepOKE)确实是有挂,透明教程(有挂技巧)1、许多玩家...
wpk外挂!gg扑克发牌机制测... 这是一款非常优秀的wepoke游戏数据有说法吗 ia辅助检测软件,能够让你了解到wepoke游戏数据...
黑科技透明挂!(德州之星)外挂... 此外,数据分析德州(德州之星)辅助神器app还具备辅助透视行为开挂功能,通过对客户德州之星透明挂的深...
德州之星有机器人吗!微扑克辅助... 这是一款非常优秀的微扑克辅助工具 ia辅助检测软件,能够让你了解到微扑克辅助工具中牌率当中全部隐藏参...
黑科技透明挂挂!(WEPoke... 黑科技透明挂挂!(WEPoke)软件透明挂,(wePoke)一贯存在有挂,新2025版(有挂透明);...
微扑克有辅助挂吗!云扑克辅助器... 自定义云扑克辅助器日租版系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不...