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透视软件... 您好:鄱阳翻精辅助软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
免费测试版!微信小程序辅助器免... 免费测试版!微信小程序辅助器免费下载,情怀游戏字牌辅助,专业教程(真的有挂);无需打开直接搜索加(薇...
总算明白!!鸿狐辅助开挂透视,... 总算明白!!鸿狐辅助开挂透视,竹间茶馆辅助,微扑克教程(有挂攻略);无需打开直接搜索加薇136704...
终于懂了!!佛手在线辅助器安卓... 终于懂了!!佛手在线辅助器安卓,越乡游义乌辅助器下载,揭秘教程(有挂实锤);无需打开直接搜索加薇13...
六分钟了解!微信小程序雀神修改... 六分钟了解!微信小程序雀神修改,玩吧辅助脚本,规律教程(有挂分享)1、下载安装好微信小程序雀神修改,...
技术分享!!白金岛跑胡子脚本,... 技术分享!!白金岛跑胡子脚本,小闲川南怎么辅助,总结教程(有挂规律)1、下载安装好小闲川南怎么辅助,...
教程攻略!兄弟13水修改器,家... 教程攻略!兄弟13水修改器,家乡大二辅助,可靠教程(有挂辅助);无需打开直接搜索加薇13670430...
科普攻略!微信超级三加一免费辅... 科普攻略!微信超级三加一免费辅助,微信小程序开心泉州辅助器,解说技巧(有挂功能)1、下载安装好微信小...
一分钟揭秘!!全民比鸡辅助透视... 您好:全民比鸡辅助透视工具这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
科普分享!孝感卡五星辅助,新海... 科普分享!孝感卡五星辅助,新海贝辅助器试用,解密教程(有挂解密);无需打开直接搜索加薇1367043...