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。

相关内容

热门资讯

透视app“三哥玩辅助器”原先... 透视app“三哥玩辅助器”原先有辅助开挂器(有挂技巧)您好:三哥玩辅助器这款游戏可以开挂,确实是有挂...
我来教教大家“wpk刷入池率脚... 我来教教大家“wpk刷入池率脚本”原生有开挂辅助挂(有挂教学);无需打开直接搜索薇:13670430...
实测分享“福建天天开心有挂吗”... 实测分享“福建天天开心有挂吗”往昔有开挂辅助器(有挂透视);无需打开直接搜索打开薇:13670430...
玩家必看科普“爱来掌中宝辅助器... 玩家必看科普“爱来掌中宝辅助器”原生有辅助安装(有挂解密);无需打开直接搜索薇:136704302 ...
三分钟了解“微乐自建房辅助工具... 三分钟了解“微乐自建房辅助工具”原先有辅助插件(有挂规律);打开点击测试直接进入微信(1367043...
推荐十款“hhpoker德州机... 推荐十款“hhpoker德州机器人”先前有辅助开挂平台(有挂技巧);无需打开直接搜索微信(13670...
今日科普“微信边锋辅助软件”一... 今日科普“微信边锋辅助软件”一向有开挂辅助下载(有挂秘笈)1、下载安装好微信边锋辅助软件,进入游戏主...
透视有挂“越乡游嵊州辅助”原先... 透视有挂“越乡游嵊州辅助”原先有开挂辅助挂(讲解有挂);无需打开直接搜索微信(136704302)咨...
必备科技“陕麻圈是不是可以辅助... 陕麻圈是不是可以辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...
每日必看“约局吧可以看到别人的... 每日必看“约局吧可以看到别人的底牌”原先有辅助开挂脚本(有挂头条);无需打开直接搜索微信(13670...