¿Cómo agregar IHttpContextAccessor en la clase de inicio en el DI en ASP.NET Core 1.0?

En ASP.NET Core RC 1 utilicé el siguiente código para recuperar el valor del contexto (dirección completa de la página). Luego grabé este valor en la configuración.

public class Startup
{
        public IConfigurationRoot Configuration { get; set; }
        private IHostingEnvironment CurrentEnvironment { get; set; }
        private IHttpContextAccessor HttpContextAccessor { get; set; }
        public Startup(IHostingEnvironment env,
                IHttpContextAccessor httpContextAccessor)
            {                
                var builder = new ConfigurationBuilder()
                    .SetBasePath(env.ContentRootPath)
                    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                    .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

                if (env.IsDevelopment())
                {
                    builder.AddUserSecrets();
                }
                builder.AddEnvironmentVariables();
                Configuration = builder.Build();
                CurrentEnvironment = env;
                HttpContextAccessor = httpContextAccessor;
            }
        public void ConfigureServices(IServiceCollection services)
        {
        ...

        services.AddOptions();
        services.Configure<WebAppSettings>(configuration);
        services.Configure<WebAppSettings>(settings =>
        {
            ...
            settings.WebRootPath = CurrentEnvironment.WebRootPath;
            settings.DomainUrl = HttpContextAccessor.HttpContext.Request.Host.ToUriComponent();
        });
        }
   }

Ahora comencé a actualizar el proyecto en ASP.NET Core 1.0. Pero durante el lanzamiento del sitio me sale el siguiente error:

System.InvalidOperationException No se puede resolver el servicio para el tipo 'Microsoft.AspNetCore.Http.IHttpContextAccessor' al intentar activar 'MyProject.Startup'.

en Microsoft.Extensions.Internal.ConstructorMatcher.CreateInstance (proveedor IServiceProvider) en Microsoft.Extensions.Internal.ActivatorUtilities.CreateInstance (proveedor IServiceProvider, tipo de instancia tipo, objeto [] parámetros) en Microsoft.Extensions.Internal.ActivatorUtilvice.CerviceProvidez. Tipo de tipo) en Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetServiceOrCreateInstance (proveedor IServiceProvider, tipo de tipo) en Microsoft.AspNetCore.Hosting.Internal.StartupLoader.LoadMethods (IServiceProvider services, Type startupType, string environmentNet). > c__DisplayClass1_0.b__1 (IServiceProvider sp) en Microsoft.Extensions.DependencyInjection.ServiceLookup.FactoryService.Invoke (ServiceProvider proveedor) en Microsoft.Extensions.DependencyInjection.ScopedCallSite.Invoke (ServiceProvider provider) Inquisit.Inc. proveedor) en Microsoft.Extens ions.DependencyInjection. <> c__DisplayClass12_0.b__0 (proveedor de proveedor de servicios) en Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService (Type serviceType) en Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredServicio. .ServiceProvider.

.NET Framework X64 v4.0.30319.42000 | Microsoft.AspNetCore.Hosting versión 1.0.0-rtm-21431 | Microsoft Windows 6.1.7601 S

¿Cómo obtengo la nueva versión IHttpContextAccessor durante el inicio de la aplicación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta