3. 에러를 해결하기 위해 프로젝트 루트에 있는 Startup.cs 파일을 연다. Startup.cs 파일의 ConfigureService 메서드에 서비스 클래스를 등록하는 코드가 필요하다. 다음 코드처럼 상단에 네임스페이스를 추가하고, ConfigureServices 메서드 하단에 서비스 등록 코드를 한 줄 추가한다. AddTransient() 메서드를 통해서 CopyrightService 클래스가 생성자 매개 변수로 전달될 때 해당 클래스의 인스턴스가 자동 생성되도록 설정하는 코드다. 참고로 Startup.cs 파일의 나머지 코드는 생략한 상태다.

    ▼  Startup.cs 파일의 ConfigureService에 서비스 등록 코드 추가

    using DotNetNote.Services;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Logging;
    
    namespace DotNetNote
    {
      public class Startup
      {
          public Startup(IHostingEnvironment env)
          {
          
          }
          
          public IConfigurationRoot Configuration { get; }
          
          public void ConfigureServices(IServiceCollection services)
          {
              services.AddMvc();
              
              //[DI(Dependency Injection)] 서비스 등록
              services.AddTransient<CopyrightService>();
          }
          
          public void Configure(
              IApplicationBuilder app,
              IHostingEnvironment env,
              ILoggerFactory loggerFactory)
          {
              app.UseStaticFiles();
              
              app.UseMvc(routes =>
              {
                  routes.MapRoute(
                      name: “default”,
                      template: ”{controller=Home}/{action=Index}/{id?}”);
              });
          }
      }
    }
    

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.