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。

相关内容

热门资讯

2分钟细说!werplan有挂... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...
据权威媒体报道!wepoker... 据权威媒体报道!wepoker破解器激活码,德普之星有透视辅助吗,一贯确实有挂(有挂助手)据权威媒体...
分享给玩家!哈糖大菠萝免费辅助... 分享给玩家!哈糖大菠萝免费辅助器,wepoker可以开透视吗,竟然有挂(揭秘有挂)1、分享给玩家!哈...
2026版技巧!wepoker... 2026版技巧!wepoker辅助器,德普之星透视辅助软件激活码,一贯存在有挂(有挂方略)该软件可以...
玩家必看秘籍!hhpoker开... 玩家必看秘籍!hhpoker开挂教程,wepoker透视是真的吗,竟然是有挂(有挂方法)亲,关键说明...
目前来看!wepoker国外版... 目前来看!wepoker国外版透视,德扑软件,一贯是有挂(有挂分析)小薇(辅助器软件下载)致您一封信...
玩家必备教程!fishpoke... 玩家必备教程!fishpoker透视,智星德州辅助译码插件靠谱吗,总是是真的有挂(竟然有挂)辅助器是...
受玩家影响!德普之星怎么开辅助... 受玩家影响!德普之星怎么开辅助,德普之星辅助器app,一贯确实有挂(有挂技术)1、德普之星怎么开辅助...
如何分辨真伪!wepoker免... 如何分辨真伪!wepoker免费脚本,hhpoker一直输有挂吗,竟然是有挂(有挂分析)1、每一步都...
2026版方法!hhpoker... 2026版方法!hhpoker软件靠谱吗,德普之星的辅助工具介绍,一贯真的有挂(有挂工具)1、全新机...