我需要能够访问ASP.NET Core 2.2中的类库中的HttpContext.Current
HttpContext.Current.Request.Url.ToString().Contains("SAMLart")
当我尝试只在HomeController中使用一种方法时,我正在尝试将代码移植过来,并且在主Web项目中HttpContext
甚至没有Current
。
答案 0 :(得分:1)
在IHttpContextAccessor
类中注册Startup
,如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
// Or you can also register as follows
services.AddHttpContextAccessor();
}
然后在您的班级库中
public class Test
{
private IHttpContextAccessor _httpContextAccessor;
public Test(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void Foo()
{
_httpContextAccessor.HttpContext.Request.Path..
}
}