How to add IHttpContextAccessor in the Startup class in the DI in ASP.NET Core 1.0?
It is no longer a default service. You have to configure it in Startup.cs
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>();
UPDATE: In ASP.NET Core 2.1, the AddHttpContextAccessor
helper extension method was added to correctly register the IHttpContextAccessor
with the correct lifetime (singleton). So, in ASP.NET Core 2.1 and above, the code should be
services.AddHttpContextAccessor();
services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>();
Source: https://github.com/aspnet/Hosting/issues/793