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。

相关内容

热门资讯

wpk透视辅助挂!wpk的下风... wpk透视辅助挂!wpk的下风机制,(wpK)切实真的有挂,解密教程(黑科技工具)1、每一步都需要思...
德扑之星透明软件的使用方法!德... 德扑之星透明软件的使用方法!德扑之星用ai会封号嘛,(德扑)好像是真的有挂,攻略教程(黑科技系统)1...
wpk透视挂会被封号吗!wpk... wpk透视挂会被封号吗!wpk德州ai机器人,(wpK)切实有挂,解密教程(黑科技助手)1、全新机制...
wpk黑科技被锤原因!wpk ... wpk黑科技被锤原因!wpk ai辅助,(WpK)切实是有挂,教你教程(黑科技总结)1、该软件可以轻...
wepoke辅助软件靠谱吗!w... wepoke辅助软件靠谱吗!wepoke软件透明挂的使用教程,(wepokE)竟然有挂,解密教程(黑...
wpk辅助插件!wpk德州ai... wpk辅助插件!wpk德州ai辅助神器,(wPK)切实是有挂,扑克教程(黑科技教程);1、全新机制【...
aapoker发牌机制!aap... aapoker发牌机制!aapoker辅助,(aapoKer)真是是真的有挂,2025新版(黑科技透...
wepoke德州扑克安卓下载!... wepoke德州扑克安卓下载!wepoke软件规律,(WEpoke)其实真的有挂,透明挂教程(黑科技...
aapoker辅助是什么!aa... aapoker辅助是什么!aapoker俱乐部后台可以操作吗,(aapokER)都是是有挂,AI教程...
德扑之星软件可靠吗!德扑之星安... 德扑之星软件可靠吗!德扑之星安卓模拟器,(德扑ai)确实存在有挂,详细教程(黑科技透明挂);1、首先...