如何在 mediatr 命令中访问 HttpContext,而不安装已弃用的 nuget 包

问题描述 投票:0回答:1

我有一个 .NET 6 API,我想在 mediatr 命令中获取 HttpContext,我已阅读 docs 可以使用

builder.Services.AddHttpContextAccessor();
注册 HttpContextAccessor,我这样做没有任何问题,但是当我想要时要在命令的构造函数中注入 IHttpContextAccessor,我的 IDE 告诉它无法解析该符号。我也查看了多个其他来源,它们大多指向要安装的
microsoft.aspnetcore.http
microsoft.aspnetcore.app
。遗憾的是,这些 nuget 包已被弃用,因此我正在寻找不使用这些包的解决方案。

PS:api和mediatr命令不在同一个项目中

我在多个其他网站上搜索以找到答案,但他们要么没有指定他们正在使用的包,要么使用已弃用的包。

c# asp.net .net-6.0 httpcontext
1个回答
0
投票

要在非 web.sdk 项目中使用 ASP.NET Core 3+ 类型,请使用 共享框架参考

但是,请注意,这主要是为了向库提供端点等。在业务层中使用此引用将业务逻辑与 Web API 框架结合起来。

更灵活的做法是在业务逻辑项目中提供所需能力的接口,并在API项目中提供实现。

© www.soinside.com 2019 - 2024. All rights reserved.