- 我使用ASP.NET核心
- 我
IService
与DI容器注册 - 有两种实现方式:
FooService
和BarService
- 我必须选择基于当前请求的MVC区服务
所以,我需要这样的东西:确定ASP.NET MVC核心区
services.AddScoped<IService>(
c => IsThisTheFooArea
? c.GetRequiredService<FooService>() as IService
: c.GetRequiredService<BarService>() as IService
);
我不知道如何执行IsThisTheFooArea
检查。
我如何访问HttpContext
或类似的东西,所以我可以检查当前的路线?
谢谢,这个工程。 (......但哇,这么多的箍箭跳过了这么简单的事情。) – grokky
另外,我回想起在github项目页面上阅读'ActionContextAccessor'默认没有注册,因为它很昂贵,所以很遗憾没有更简单的方法它的工作原理虽然足够满足我的需求。 – grokky
这是获取区域信息所必需的。我不知道是否有另一种方式获得地区名称。可以使用请求路径(区域部分),但在这种情况下,您需要注入'HttpContextAccessor',我认为这不是好的方法。 –